This transport handler allows to send and receive messages using the TCP sockets with the easily customizable ZeroMQ framework (see http://www.zeromq.com/). Information on how to use ZeroMQ and about parameter information can be found at http://zguide.zeromq.org/ . In this implementation the pure Java version of ZeroMQ is used: https://github.com/zeromq/jeromq .

ZeroMQ is licensed under LGPL (see: license/lgpl-3.0.txt) and can only be used or distributed as specified in the LGPL license.

Options

  • host: The IP of the server (own IP if publisher)
  • writeport: The port on which data is send to clients
  • readport: The port on which data sent by clients is received
  • delayofmsg: The number of messages which are hold back until all delayed messages are sent in one stream element
  • threads: The number of threads used by ZeroMQ to send/receive data
  • params: parameters that can be set using pull publishing
  • timeout: The number of unsuccessfully received/sent messages before connection is timed out

Example

/// Send/Receive via publish/subscribe
sender = SENDER({
              id='sender',
              transport='ZeroMQ',
              wrapper='GenericPush',
              protocol='SVM',
              datahandler='Tuple',
              SINK="SENDER",
              options=[
                  ['HOST','192.168.1.101'],
                  ['READPORT','5554'],
                  ['WRITEPORT','5555'],
                  ['DELAYOFMSG','1'],
                  ['THREADS','1'],
                  ['ByteOrder', 'LittleEndian']
                ]                    
            },nexmark:Person
	) 

/// Send/Receive via pull
sender = SENDER({
              id='sender',
              transport='ZeroMQ',
              wrapper='GenericPull',
              protocol='SVM',
              datahandler='Tuple',
              SINK="SENDER",
              options=[
                  ['HOST','192.168.1.101'],
                  ['READPORT','5554'],
                  ['WRITEPORT','5555'],
                  ['DELAYOFMSG','1'],
                  ['THREADS','1'],
                  ['ByteOrder', 'LittleEndian']
                ]                    
            },nexmark:Person
	) 
  • No labels