eclipse-uprotocol / up-java

uProtocol Language Specific Library for Java
Apache License 2.0
8 stars 14 forks source link

Communication wrappers can be initialized with closed uTransport #172

Open mishap4 opened 1 month ago

mishap4 commented 1 month ago

For example InMemortyRpcClient can be created with a closed uTransport instance. It calls uTransport.registerListener in constructor which fails and never retried. Do we want to allow creation of communication wrappers passing not opened uTransport instance? Then we need a callback interface from uTransport to notify its state changes. Or we must fail wrapper creation with a closed transport as an argument. But then wrapper reference cannot be initialized ahead (before transport is connected) and the code should check for null before using it.