RSocketRequester extends RequesterResponderSupport implements RSocket { @Override public boolean isDisposed() { return terminationError != null; } RSocketRequester(
      DuplexConnection connection,
      PayloadDecoder payloadDecoder,
      StreamIdSupplier streamIdSupplier,
      int mtu,
      int maxFrameLength,
      int maxInboundPayloadSize,
      int keepAliveTickPeriod,
      int keepAliveAckTimeout,
      @Nullable KeepAliveHandler keepAliveHandler,
      RequesterLeaseHandler leaseHandler); @Override Mono<Void> fireAndForget(Payload payload); @Override Mono<Payload> requestResponse(Payload payload); @Override Flux<Payload> requestStream(Payload payload); @Override Flux<Payload> requestChannel(Publisher<Payload> payloads); @Override Mono<Void> metadataPush(Payload payload); @Override int getNextStreamId(); @Override int addAndGetNextStreamId(FrameHandler frameHandler); @Override double availability(); @Override void dispose(); @Override boolean isDisposed(); @Override Mono<Void> onClose();  }
@Test @Timeout(2_000) public void testInvalidFrameOnStream0ShouldNotTerminateRSocket() { rule.connection.addToReceivedBuffer(RequestNFrameCodec.encode(rule.alloc(), 0, 10)); Assertions.assertThat(rule.socket.isDisposed()).isFalse(); rule.assertHasNoLeaks(); }