lipwig

command module
v0.0.0-...-79deb2b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2017 License: BSD-3-Clause Imports: 15 Imported by: 0

README

Lipwig

going postal

Lipwig is the reference implementation of SSMP, the Stupid-Simple Messaging Protocol, which aims to be a minimalist alternative to XMPP, STOMP and similar protocols.

License

BSD 3-clause, see accompanying LICENSE file.

Dependencies

Required:

Optional:

  • gockerize to build a minimal docker container

Package layout

aerofs.com/lipwig/          standalone server
    ssmp                    common code shared by client and server libraries
    server                  server library
    client                  client library

Protocol support

The following optional SSMP features are supported:

  • anonymous login
  • client certificate authentication, w/ arbitrary path suffix
  • shared secret authentication
  • open login (i.e. unauthenticated)

Usage

Usage of ./lipwig:
  -cacert=""                Path to CA certificate
  -cert=""                  Path to server certificate
  -host=""                  TLS hostname
  -insecure=false           Disable TLS
  -key=""                   Path to server private key
  -listen="0.0.0.0:8787"    Listening address
  -open=false               Enable open login
  -secret=""                Path to shared secret

Performance

Although correctness and simplicity are the primary concerns in a reference implementation, lipwig is designed to scale. The amount of memory per active connection is very low (a few kilobytes) and given enough network bandwidth the server can handle upwards of 1 million messages per second on a laptop.

Don't take our word for it: run ssmperf on your own machine and see for yourself.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package ssmp provides constants and utilities shared between client and server.
Package ssmp provides constants and utilities shared between client and server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL