On 04/11/2016 01:28 AM, Erik Hugne wrote: > On Apr 10, 2016 15:27, "Leon Pollak" <le...@plris.com> wrote: >> After your answer I again looked through the both manuals and did not find >> anything saying that connectionless messaging allows drops. Vice verse, > the >> programmer's manual explicitly states that "TIPC is designed to be a > reliable >> messaging mechanism, in which an application can send a message and assume >> that the message will be delivered to the specified destination as long as >> that destination is reachable." >> >> Now, is it a bug, corrected in Nov 6th 2013? Or a feature?
If it is a bug, the bug is in the manual, because we we cannot guarantee sequenctial, loss-free delivery using SOCK_DGRAM or SOCK_RDM. First, this comes from the very definition of those two communication modes, second it is a practical impossibility to guarantee this 100% with connectionless while retaining any reasonable performance. What was corrected in the aforementioned commit was the buffer allocation problem, which Erik describes correctly below. That was a bug. But we still cannot guarantee connectionless delivery socket-to-socket, because an overwhelmed receiving socket will have to toss messages away when its receive buffer is full. >> >> i can't move to connection oriented methods, because I need to support > one- >> to-3 and 3-to-one. As I see it you have three options here: - Set up three connections via three different sockets pairs. - Make your own end-to-end flow control at user level (it is not hard) - Possibly increasing server priority, as Erik is suggesting. But this gives you no absolute guarantee. //jon >> > This sounds a lot like the problem when connectionless messages are > received, acked on the tipc link layer and passed to the socket, but > dropped there because the socket receive buffer is full. > If the receiving application does not drain the queue faster than messages > build up, there will be losses as there us no concept of flow control at > this level. > Try bumping the prio of the server, maybe run it as an rt thread? > > //E > >> Sorry. >> -- >> Leon > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications Manager > Applications Manager provides deep performance insights into multiple tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/ > gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532 > _______________________________________________ > tipc-discussion mailing list > tipc-discussion@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tipc-discussion ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/ gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532 _______________________________________________ tipc-discussion mailing list tipc-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tipc-discussion