The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Message::Passing::ZeroMQ::Role::HasASocket - Role for instances which have a ZeroMQ socket.

ATTRIBUTES

socket_bind

Bind a server to an address.

For example tcp://*:5222 to make a server listening on a port on all of the host's addresses, or tcp://127.0.0.1:5222 to bind the socket to a specific IP on the host.

connect

Connect to a server. For example tcp://127.0.0.1:5222.

This option is mutually exclusive with socket_bind, as sockets can connect in one direction only.

socket_type

The connection direction can be either the same as, or the opposite of the message flow direction.

The currently supported socket types are:

PUB

This socket publishes messages to zero or more subscribers.

All subscribers get a copy of each message.

SUB

The pair of PUB, receives broadcast messages.

PUSH

This socket type distributes messages in a round-robin fashion between subscribers. Therefore N subscribers will see 1/N of the message flow.

PULL

The pair of PUSH, receives a proportion of messages distributed.

linger

Bool indicating the value of the ZMQ_LINGER options.

Defaults to 0 meaning sockets will not block on shutdown if a server is unavailable (i.e. queued messages will be discarded).

socket_hwm

Set the High Water Mark for the socket. Depending on the socket type, messages are likely to be discarded once this high water mark is exceeded (i.e. there are more than this many messages buffered).

A value of 0 disables the high water mark, meaning that messages will be buffered until RAM runs out.

METHODS

setsockopt

For wrapping by sub-classes to set options after the socket is created.

SPONSORSHIP

This module exists due to the wonderful people at Suretec Systems Ltd. <http://www.suretecsystems.com/> who sponsored its development for its VoIP division called SureVoIP <http://www.surevoip.co.uk/> for use with the SureVoIP API - <http://www.surevoip.co.uk/support/wiki/api_documentation>

AUTHOR, COPYRIGHT AND LICENSE

See Message::Passing::ZeroMQ.