Hi Steve/Ian,
I am not altering any default PGM properties.
But I am sending 36 bytes of data every 1 sec in a while loop. I am not
seeing any data loss. All the data send is received but with a delay.
Here's the pseudocode:
Process1:
void *context;
void * pub_socket= NULL;
void* sub_socket= NULL;
void send_message()
{
char data[36];
zmq_send(pub_socket,data,36,0);
}
void recv_message()
{
char data[36];
int i=10;
while(i>0) //process 10 messages continously
{ zmq_recv(sub_socket,data,36,ZMQ_DONTWAIT); }
}
main()
{
context = zmq_ctx_new();
pub_socket = zmq_socket(context,ZMQ_PUB);
sub_socket = zmq_socket(context,ZMQ_SUB);
zmq_bind(pub_socket ,"epgm://127.0.0.1;239.192.1.1:5580");
zmq_connect(sub_socket,"epgm://127.0.0.1;239.192.1.1:5580" );
zmq_setsockopt(sub_socket,ZNQ_SUBSCRIBE,0,NULL);
while(1)
{
send_message()
sleep(1);
receive_message();
}
zmq_close(pub_socket);
zmq_close(sub_socket);
zmq_ctx_destroy(context);
}
Process2:
void *context;
void * pub_socket= NULL;
void* sub_socket= NULL;
void send_ack()
{
char data[36];
zmq_send(pub_socket,data,36,0);
}
void recv_message()
{
char data[36];
zmq_recv(sub_socket,data,36,ZMQ_DONTWAIT);
send_ack();
}
main()
{
context = zmq_ctx_new();
pub_socket = zmq_socket(context,ZMQ_PUB);
sub_socket = zmq_socket(context,ZMQ_SUB);
zmq_bind(pub_socket ,"epgm://127.0.0.1;239.192.1.1:5580");
zmq_connect(sub_socket,"epgm://127.0.0.1;239.192.1.1:5580" );
zmq_setsockopt(sub_socket,ZNQ_SUBSCRIBE,0,NULL);
while(1)
{
receive_message();
}
zmq_close(pub_socket);
zmq_close(sub_socket);
zmq_ctx_destroy(context);
}
NOTE: In my actual application I am using the wrapper APIs from my
application which inturn calls the zeromq APIs.
In my application, process1 broadcasts a message. Process2 on receiving
that message broadcasts a reply message.
My observation is that process1 receives its own message almost at the same
speed as it sends (send and receive count are same) but the message from
process2 is received at process1 much later ( eg: if send count is 100
receive count will be around 65)
Thanks,
Divya
On Fri, Feb 8, 2013 at 9:15 PM, Steven McCoy <[email protected]> wrote:
> On 8 February 2013 05:50, Divya Mohan <[email protected]> wrote:
>
>> Is it because of PGM or some thing to do with ZeroMQ?
>>
>>
>>
> Typically you will replace a PGM transport with TCP for testing and you
> will most likely find an inconvenient trait of non-congestion-controlled
> reliable multicast.
>
> More details are required though, have you altered the default PGM
> protocol properties? Are you flooding the 0mq socket with data?
>
> --
> Steve-o
>
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev