Binding Abstractions
Suggested common abstractions for bindings
- Track open sockets, and close automatically when closing context
- 'linger' as context option, applied before closing context
- API for all socket options (get/set as appropriate)
- Reactor providing at least readers and timers
- Wrap socket creation
- 'More' property on message frames (rather than sockets)
- Multipart message recv/send and manipulation
- Millisecond timers (sleep and system time)
- Device loop, to replace zmq_device (dropped in ØMQ/3.0)
- Message sending with REUSE option.
- Bind method that allows "bind to random free port" (and returns resulting port).
Anything wrong here, or missing?
Suggestions For ZeroMQ 3 Support
- Bindings should, if possible, support both ZeroMQ 2 and 3, depending on which version of the library they are built against.
- If the binding is for a language which doesn't support zerocopy, send and sendmsg should be interchangeable, as should recv and recvmsg. The shorter names are probably preferable for example code etc.
- The ZMQ_NOBLOCK flag should still be supported, but deprecated in favour of ZMQ_DONTWAIT
Comments: 2
page revision: 6, last edited: 03 Feb 2012 11:20
Could an author please elaborate on the list of suggested abstractions to clarify the items? I specifically don't know what the following terms/items mean:
You can look at CZMQ for examples.
Portfolio