Cover the MultiplexHandler/Channel classes with unit tests. These are pretty central and non-primitive classes so they should be tested well.
Primary attention should paid to closing child channels, so once the channel is created it must be finally closed. Child channels shouldn't leak.
There are following close circumstances:
parent channel is closed
remote peer sends RESET signal
local peer sends RESET (on channel.close() invoked)
remote and local peers sends CLOSE (on channel.disconnect())
Child channels may be created with MultiplexHandler.createStream() asynchronously from any thread and prior to the parent channel is activated. Those cases should also be considered.
Cover the
MultiplexHandler/Channel
classes with unit tests. These are pretty central and non-primitive classes so they should be tested well. Primary attention should paid to closing child channels, so once the channel is created it must be finally closed. Child channels shouldn't leak. There are following close circumstances:channel.close()
invoked)channel.disconnect()
)Child channels may be created with
MultiplexHandler.createStream()
asynchronously from any thread and prior to the parent channel is activated. Those cases should also be considered.