Provide access to underlying RSocketClient

The recently introduced support for RSocketClient in commit
7c98251142 did not expose the underlying
client in order to avoid a hard dependency on RSocket 1.1 for the time
being. However such access appears to be necessary, e.g. for Spring
Integration, where the connection needs to be established (warmed up)
ahead of actual requests.

See gh-25332
This commit is contained in:
Rossen Stoyanchev
2020-07-22 14:57:33 +03:00
parent f9ba58eab9
commit 9fe1feea9a
8 changed files with 43 additions and 153 deletions

View File

@@ -206,8 +206,8 @@ public class DefaultRSocketRequesterBuilderTests {
}
private ConnectionSetupPayload getConnectionSetupPayload(RSocketRequester requester) {
// Trigger connection and sending of SETUP frame
requester.route("any-route").data("any-data").send().block();
// Trigger connection establishment
requester.rsocketClient().source().block();
return new DefaultConnectionSetupPayload(this.connection.setupFrame());
}

View File

@@ -94,7 +94,7 @@ class RSocketBufferLeakTests {
@AfterAll
void tearDownOnce() {
requester.dispose();
requester.rsocketClient().dispose();
server.dispose();
context.close();
}

View File

@@ -96,7 +96,7 @@ public class RSocketClientToServerIntegrationTests {
@AfterAll
public static void tearDownOnce() {
requester.dispose();
requester.rsocketClient().dispose();
server.dispose();
}

View File

@@ -110,14 +110,14 @@ public class RSocketServerToClientIntegrationTests {
.rsocketConnector(connector -> connector.acceptor(responder))
.tcp("localhost", server.address().getPort());
// Make a request to cause a connection to be established.
requester.route("fnf").send().block();
// Trigger connection establishment.
requester.rsocketClient().source().block();
context.getBean(ServerController.class).await(Duration.ofSeconds(5));
}
finally {
if (requester != null) {
requester.dispose();
requester.rsocketClient().dispose();
}
}
}

View File

@@ -271,7 +271,7 @@ class RSocketClientToServerCoroutinesIntegrationTests {
@AfterAll
@JvmStatic
fun tearDownOnce() {
requester.dispose()
requester.rsocketClient().dispose()
server.dispose()
}
}