vlingo / xoom-wire

The VLINGO XOOM platform SDK wire protocol messaging implementations, such as with full-duplex TCP and UDP multicast, and RSocket, using VLINGO XOOM ACTORS.
Mozilla Public License 2.0
13 stars 11 forks source link

Init RSocket Netty transport layer with an randomly selected and available port #15

Closed alexguzun closed 4 years ago

alexguzun commented 5 years ago

Had to define a new method port() in io.vlingo.wire.channel.ChannelReader and io.vlingo.wire.fdx.bidirectional.ServerRequestResponseChannel that answers the port that has been assigned by OS.

VaughnVernon commented 5 years ago

@alexguzun The changes look good, but the Travis tests are still failing. It seems like the same failure as before this PR with changes.

https://travis-ci.org/vlingo/vlingo-wire/builds/608444762

alexguzun commented 4 years ago

The build is still broken. I have update the PR to help @buritos, that offered to take a look at it.

buritos commented 4 years ago

The build is still broken. I have update the PR to help @buritos, that offered to take a look at it.

Could be related to catch(Throwable) I suspect some Error that shouldn't be ignored and also prevents log.

alexguzun commented 4 years ago

Hi @VaughnVernon and @buritos . I have made some changes that might help with the tests.

Now the client can provide a instance of io.rsocket.transport.ClientTransport and io.rsocket.transport.ServerTransport when creating any RSocket component of vlingo-wire. In tests it's using rsocket-transport-local meaning that no sockets are involved at all.

I have left some default constructors, that falls back to rsocket-transport-netty.

There is one test left ignored for now: RSocketClientChannelTest#testServerApplicationErrorsProcess. It has to do with channel recovering from a server error. It passes using netty transport. The test requires furhter investigation.