I think considering an unsigned byte value should be a reasonable step.

Gregg

Sent from my iPhone

> On Sep 1, 2019, at 9:41 PM, Peter Firmstone <peter.firmst...@zeus.net.au> 
> wrote:
> 
> Hello,
> 
> The JERI multiplexing protocol allows 128 sessions between two nodes, when 
> this value is exceeded, an exception is thrown and a connection cannot be 
> made.
> 
> I have run into some situations during stress testing where 128 sessions 
> isn't enough.
> 
> The JERI multiplexing protocol sends a signed byte, the allowable range is 
> from 0 to 127 (inclusive) and consumes it at the remote end.
> 
> However I have noticed in the implementation, checks for maximum and minimum 
> sessions occurs while the number is a 32 bit integer, before being cast to 
> byte, so basically we can change this to an unsigned byte, without breaking 
> compatibility with existing implementations (until we exceed 128 sessions).
> 
> Using an unsigned byte would allow a maximum 255 Sessions.
> 
> As both endpoints have to consume a byte, increasing this value further would 
> break the protocol.
> 
> Existing connections break when the number of sessions exceeds 128, this will 
> not cause any unexpcected additional breakage.
> 
> I'm not aware of any additional third party implementations of the JERI 
> protocol.
> 
> It's also worth noting that the JERI implementation of today, is much faster 
> and more efficient than JERI released in Jini 2.1, 128 connections would have 
> suffereed from contention, today, this isn't an issue.
> 
> Regards,
> 
> Peter.

Reply via email to