* beam.Verb enumerates all standard verbs
* beam.Object implements standard verbs as convenience client methods
* beam.Server implements stateless handlers to process incoming standard verbs
* beam.Repeater always replies with the same message
* beam.Handler exposes a function as a Receiver
Standard verbs include:
* Object navigation: ls, attach
* Execution: spawn, start, stop
* Notifications: log, error, ack
* Data: set, get
Signed-off-by: Solomon Hykes <solomon@docker.com>
* Callback pattern that is easier to grok: each message has an optional nested return channel, instead of 2 nested streams
* Return channel is in the Message structure: less arguments and return values to pass around
* Caller can request a pipe as return channel, or pass its own. This makes proxying and advanced plumbing operations much easier.
Signed-off-by: Solomon Hykes <solomon@docker.com>