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

Add a New Comment