On 29/07/2015 15:58, Michael Black wrote:
Hi Mike,

Actually he's running a Flex 3000 and an 8-core machine.

Interesting, is it possible he has set CPU affinity. Maybe it was just that all the JT9 decodes took longer than the longest JT65 decode but that is fairly unusual.

JTAlert doesn't currently allow setting the IP address so it's not multi-cast. I'll see if about getting that done though.

It's not quite as simple as setting the address, a multicast server has to join the group as well.

Side-by-side is good idea.

And a sequence number does take a step towards TCP but is still not a bad idea so you can at least detect dropped packets. People could be using this now and not know they are missing decodes.

Datagrams can also be delivered out of order so it gets complicated fast. Anyway on a loopback connector neither out of order delivery nor dropped datagrams should happen unless the receiver is really slow about responding to received datagrams.

I would really prefer to see confirmation that datagrams are really going missing by using message_aggregator before we start changing code.

73

Mike W9MDB

73
Bill
G4WJS.

*From:*Bill Somerville [mailto:g4...@classdesign.com]
*Sent:* Wednesday, July 29, 2015 9:47 AM
*To:* wsjt-devel@lists.sourceforge.net
*Subject:* Re: [wsjt-devel] UDP messages dropped

On 29/07/2015 15:37, Michael Black wrote:
Hi Mike,

    Testing JTAlert 2.6.10 beta with WSJTX 5728 on a friend's setup.

    20M came alive yesterday and we observed JTAlert missing, for
    example, ALL of the JT9 decodes (which were bunched at the end of
    his Band Activity window).

If all the JT9 decodes are together I assume the CPU in use has only one or two cores as the MT decoding doesn't seem to be active.

It was random…frequently all the JT9's were missed, and sometimes some random others, sometimes all of them were OK.

So it appears to be some timing issue.

UDP is also known as "Unreliable Data Protocol" but it shouldn't drop packets very frequently (if at all) on a local network connection.

Can you verify the same behaviour using message_aggregator? I don't know if JTAlert is multicast compliant but if it is you could use 239.255.0.1 as an address and have JTAlert and message_aggregator both receiving the messages in parallel for a double verification. Dropped datagrams on a loopback connector are very unlikely.

So…to help trace this down can we add a 1-byte rolling sequence number to the Decode message? That would help the client detect any dropped packets.

That is missing the point of UDP!

Is the access to the socket write from WSJT-X multi-threaded between JT65 and JT9? Not sure what behavior might in that case.

The UDP messages are sent from the main GUI thread, there are no MT implications.

73

Mike W9MDB

73
Bill
G4WJS.


------------------------------------------------------------------------------
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to