Affects: 5.3.6

When using RSocketRequester.builder().transport() a new underlying RSocketClient is created (which is hidden from the user of this API). The RSocketClient must be disposed to free the underlying resources (or not?).

Imho the current API design totally hides that there are resources allocated and must be disposed - it is nowhere stated in the docs and also the RSocketRequester has not dispose() method or similar.

Comment From: rstoyanchev

RSocketRequest wraps and delegates to RSocketClient in order to provide additional benefits. You can access the underlying RSocketClient instance via RSocketRequester#rsocketClient().

In general this does not allocate resources by default but once you start making connections, those are long lived, it's the nature of messaging communication, and it is necessary to call dispose on the RSocketClient. We can make RSocketRequester implement Disposable providing a shortcut that simply delegates to the underlying instance.