Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
ZMQ_INPROC(7)			   0MQ Manual			   ZMQ_INPROC(7)

NAME
     zmq_inproc - 0MQ local in-process (inter-thread) communication transport

SYNOPSIS
     The  in-process  transport  passes  messages  via	memory	directly between
     threads sharing a single 0MQ context.

	 Note

	 No I/O threads are involved in passing messages using the inproc trans-
	 port. Therefore, if you are using a 0MQ context for in-process  messag-
	 ing  only  you  can  initialise  the context with zero I/O threads. See
	 zmq_init(3) for details.

ADDRESSING
     A 0MQ endpoint is a string consisting of a transport:// followed by an  ad-
     dress.  The transport specifies the underlying protocol to use. The address
     specifies the transport-specific address to connect to.

     For the in-process transport, the transport is inproc, and the  meaning  of
     the address part is defined below.

   Assigning a local address to a socket
     When assigning a local address to a socket using zmq_bind() with the inproc
     transport, the endpoint shall be interpreted as an arbitrary string identi-
     fying  the  name  to create. The name must be unique within the 0MQ context
     associated with the socket and may be up to 256 characters  in  length.  No
     other restrictions are placed on the format of the name.

   Connecting a socket
     When connecting a socket to a peer address using zmq_connect() with the in-
     proc  transport,  the  endpoint shall be interpreted as an arbitrary string
     identifying the name to connect to. Before version 4.0 he	name  must  have
     been  previously  created by assigning it to at least one socket within the
     same 0MQ context as the socket being connected. Since version 4.0 the order
     of zmq_bind() and zmq_connect() does not  matter  just  like  for	the  tcp
     transport type.

EXAMPLES
     Assigning a local address to a socket.

	 //  Assign the in-process name "#1"
	 rc = zmq_bind(socket, "inproc://#1");
	 assert (rc == 0);
	 //  Assign the in-process name "my-endpoint"
	 rc = zmq_bind(socket, "inproc://my-endpoint");
	 assert (rc == 0);

     Connecting a socket.

	 //  Connect to the in-process name "#1"
	 rc = zmq_connect(socket, "inproc://#1");
	 assert (rc == 0);
	 //  Connect to the in-process name "my-endpoint"
	 rc = zmq_connect(socket, "inproc://my-endpoint");
	 assert (rc == 0);

SEE ALSO
     zmq_bind(3)  zmq_connect(3)  zmq_ipc(7)  zmq_tcp(7)  zmq_pgm(7) zmq_vmci(7)
     zmq(7)

AUTHORS
     This page was written by the 0MQ community. To make a  change  please  read
     the 0MQ Contribution Policy at http://www.zeromq.org/docs:contributing.

0MQ 4.3.5			   10/09/2023			   ZMQ_INPROC(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=zmq_inproc&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help