Message Boards Message Boards


Buffer sizes & data partitioning in send for ZMQ networking socket objects

Posted 16 days ago
1 Reply
1 Total Likes

I currently have a PUSH/PULL zmq socket that I am using to send and receive data on a number of computational results on time-series financial data. I am also passing the time series through the socket as well. This is causing some issues because due to its size, the message is being partitioned at every 544 bytes. When this occurs, it causes my handler function ("Data Received->") to re-run at each partition of the message. I would like to be able to either collect and join the message in full in a list or association before executing handler function computations. I have also explored compressing data and sending as serialized bytes as well, but still have occasions where the message is to large to be sent in one send. I know there is a MultipartComplete handler function key, but all that gets returned is "!0" because the message is not being sent with a multipart complete flag. I have also explored all SocketObject[] options and have seen Sndbuf and Rcvbuf options, but to no avail. Is there anyway to aggregate each message partition without using an append to a list var being declared outside the scope of the handler function?



Welcome to Wolfram Community! Please make sure you know the rules:

The rules explain how to format your code properly. Images don't help other members to copy your code. Please EDIT your post and make sure code blocks start on a new paragraph and look framed and colored like this.

int = Integrate[1/(x^3 - 1), x];
Map[Framed, int, Infinity]

You can also embed notebook or attach notebook.

enter image description here

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract