I am using the Elektron ETA SDK for Java, v. 3.1.1.L1. Having subscribed to a RIC, I have observed that, when notified by the Selector of an OP_READ operation, Channel::read returns null most of the time, with ReadArgs::readRetVal having a positive value. According to the documentation, this indicates that a full TransportBuffer is not available yet, but that there are more bytes to be read, so Channel::read should be called again. Doing so eventually yields a full TransportBuffer.
My concern relates to the frequency this occurs. As an example, for an incoming full TransportBuffer rate of 2K/sec, I receive around 250K/sec of responses returning null with a positive readRetVal, which I promptly ignore, since there is no processing that is needed for those.
Is this expected, and if so, is there way to suppress such responses, to save on unnecessary processing?