nn_pubsub man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

NN_PUBSUB(7)			nanomsg manual			  NN_PUBSUB(7)

NAME
       nn_pubsub - publish/subscribe scalability protocol

SYNOPSIS
       #include <nanomsg/nn.h>

       #include <nanomsg/pubsub.h>

DESCRIPTION
       Broadcasts messages to multiple destinations.

       Messages are sent from NN_PUB sockets and will only be received by
       NN_SUB sockets that have subscribed to the matching topic. Topic is an
       arbitrary sequence of bytes at the beginning of the message body. The
       NN_SUB socket will determine whether a message should be delivered to
       the user by comparing the subscribed topics (using NN_SUB_SUBSCRIBE on
       a full SUB socket) to the bytes initial bytes in the incomming message,
       up to the size of the topic.

	   nn_setsockopt (s, NN_SUB, NN_SUB_SUBSCRIBE, "Hello", 5);

       Will match any message with intial 5 bytes being "Hello", for example,
       message "Hello, World!" will match.

       Topic with zero length matches any message.

       If the socket is subscribed to multiple topics, message matching any of
       them will be delivered to the user.

       Since the filtering is performed on the Subscriber side, all the
       messages from Publisher will be sent over the transport layer.

       The entire message, including the topic, is delivered to the user.

   Socket Types
       NN_PUB
	   This socket is used to distribute messages to multiple
	   destinations. Receive operation is not defined.

       NN_SUB
	   Receives messages from the publisher. Only messages that the socket
	   is subscribed to are received. When the socket is created there are
	   no subscriptions and thus no messages will be received. Send
	   operation is not defined on this socket.

   Socket Options
       NN_SUB_SUBSCRIBE
	   Defined on full SUB socket. Subscribes for a particular topic. Type
	   of the option is string. A single NN_SUB socket can handle multiple
	   subscriptions.

       NN_SUB_UNSUBSCRIBE
	   Defined on full SUB socket. Unsubscribes from a particular topic.
	   Type of the option is string.

   EXAMPLE
	   int pub = nn_socket (AF_SP, NN_PUB);
	   int sub = nn_socket (AF_SP, NN_SUB);
	   int nbytes;
	   void *buf = NULL;

	   nn_setsockopt (sub, NN_SUB, NN_SUB_SUBSCRIBE, "foo", 3);
	   nn_setsockopt (sub, NN_SUB, NN_SUB_SUBSCRIBE, "bar", 3);

	   nbytes = nn_send (pub, "foo|Hello!", 10);
	   assert(nbytes == 10);
	   nbytes = nn_recv (sub, &buf, NN_MSG, 0);
	   assert (nbytes == 10);
	   nn_freemsg (buf);

	   nbytes = nn_send (pub, "baz|World!", 10);

	   /* Message is not delivered because if matches no subscription. */
	   nbytes = nn_recv(sub, &buf, NN_MSG, 0);

SEE ALSO
       nn_bus(7) nn_reqrep(7) nn_pipeline(7) nn_survey(7) nn_pair(7)
       nanomsg(7)

AUTHORS
       Martin Sustrik <sustrik@250bpm.com[1]>

NOTES
	1. sustrik@250bpm.com
	   mailto:sustrik@250bpm.com

nanomsg Unknown			  12/23/2015			  NN_PUBSUB(7)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net