Top Description Fields Constructors Methods
io.rsocket.core

pack-priv Class RSocketRequester

extends RequesterResponderSupport
implements RSocket
Class Inheritance
All Implemented Interfaces
io.rsocket.RSocket, io.rsocket.Closeable, reactor.core.Disposable, io.rsocket.Availability
Static Imports
io.rsocket.keepalive.KeepAliveSupport.ClientKeepAliveSupport

Requester Side of a RSocket socket. Sends ByteBufs to a RSocketResponder of peer

Field Summary

Modifier and TypeField and Description
private static final Exception
private final KeepAliveFramesAcceptor
private static final Logger
private final Mono<Void>
private final Sinks.Empty<Void>
private final RequesterLeaseTracker
private static final AtomicReferenceFieldUpdater<RSocketRequester, Throwable>
private volatile Throwable
Inherited from io.rsocket.core.RequesterResponderSupport:
activeStreamsstreamIdSupplier

Constructor Summary

AccessConstructor and Description
pack-priv
RSocketRequester(DuplexConnection connection, PayloadDecoder payloadDecoder, StreamIdSupplier streamIdSupplier, int mtu, int maxFrameLength, int maxInboundPayloadSize, int keepAliveTickPeriod, int keepAliveAckTimeout, KeepAliveHandler keepAliveHandler, Function<RSocket, RequestInterceptor> requestInterceptorFunction, RequesterLeaseTracker requesterLeaseTracker, Sinks.Empty<Void> onThisSideClosedSink, Mono<Void> onAllClosed)

Method Summary

Modifier and TypeMethod and Description
public int
addAndGetNextStreamId(FrameHandler
to store
frameHandler
)

Overrides io.rsocket.core.RequesterResponderSupport.addAndGetNextStreamId.

Adds frameHandler and returns issued streamId back
public double
public void
dispose()

Overrides default io.rsocket.RSocket.dispose.

Cancel or dispose the underlying task or resource.
public Mono<Void>
fireAndForget(Payload
Request payload.
payload
)

Overrides default io.rsocket.RSocket.fireAndForget.

Fire and Forget interaction model of RSocket.
public int
public RequesterLeaseTracker
private void
handleFrame(int streamId, FrameType type, ByteBuf frame)

private void
private void
private void
public boolean
isDisposed()

Overrides default io.rsocket.RSocket.isDisposed.

Optionally return true when the resource or task is disposed.
public Mono<Void>
metadataPush(Payload
Request payloads.
payload
)

Overrides default io.rsocket.RSocket.metadataPush.

Metadata-Push interaction model of RSocket.
public Mono<Void>
onClose()

Overrides default io.rsocket.RSocket.onClose.

Returns a Mono that terminates when the instance is terminated by any reason.
public Flux<Payload>
requestChannel(Publisher<Payload>
Stream of request payloads.
payloads
)

Overrides default io.rsocket.RSocket.requestChannel.

Request-Channel interaction model of RSocket.
public Mono<Payload>
requestResponse(Payload
Request payload.
payload
)

Overrides default io.rsocket.RSocket.requestResponse.

Request-Response interaction model of RSocket.
public Flux<Payload>
requestStream(Payload
Request payload.
payload
)

Overrides default io.rsocket.RSocket.requestStream.

Request-Stream interaction model of RSocket.
private void
private void
private void
private void
private void
private void
Inherited from io.rsocket.core.RequesterResponderSupport:
addgetgetAllocatorgetDuplexConnectiongetMaxFrameLengthgetMaxInboundPayloadSizegetMtugetPayloadDecodergetRequestInterceptorremove

Field Detail

CLOSED_CHANNEL_EXCEPTIONback to summary
private static final Exception CLOSED_CHANNEL_EXCEPTION
keepAliveFramesAcceptorback to summary
private final KeepAliveFramesAcceptor keepAliveFramesAcceptor
LOGGERback to summary
private static final Logger LOGGER
onAllClosedback to summary
private final Mono<Void> onAllClosed
onThisSideClosedSinkback to summary
private final Sinks.Empty<Void> onThisSideClosedSink
requesterLeaseTrackerback to summary
private final RequesterLeaseTracker requesterLeaseTracker
Annotations
@Nullable
TERMINATION_ERRORback to summary
private static final AtomicReferenceFieldUpdater<RSocketRequester, Throwable> TERMINATION_ERROR
terminationErrorback to summary
private volatile Throwable terminationError

Constructor Detail

RSocketRequesterback to summary
pack-priv RSocketRequester(DuplexConnection connection, PayloadDecoder payloadDecoder, StreamIdSupplier streamIdSupplier, int mtu, int maxFrameLength, int maxInboundPayloadSize, int keepAliveTickPeriod, int keepAliveAckTimeout, KeepAliveHandler keepAliveHandler, Function<RSocket, RequestInterceptor> requestInterceptorFunction, RequesterLeaseTracker requesterLeaseTracker, Sinks.Empty<Void> onThisSideClosedSink, Mono<Void> onAllClosed)

Method Detail

addAndGetNextStreamIdback to summary
public int addAndGetNextStreamId(FrameHandler frameHandler)

Overrides io.rsocket.core.RequesterResponderSupport.addAndGetNextStreamId.

Doc from io.rsocket.core.RequesterResponderSupport.addAndGetNextStreamId.

Adds frameHandler and returns issued streamId back

Parameters
frameHandler:FrameHandler

to store

Returns:int

issued streamId

Annotations
@Override
availabilityback to summary
public double availability()

Overrides default io.rsocket.RSocket.availability.

Returns:double

Doc from io.rsocket.Availability.availability.

a positive numbers representing the availability of the entity. Higher is better, 0.0 means not available

Annotations
@Override
disposeback to summary
public void dispose()

Overrides default io.rsocket.RSocket.dispose.

Doc from reactor.core.Disposable.dispose.

Cancel or dispose the underlying task or resource.

Implementations are required to make this method idempotent.

Annotations
@Override
fireAndForgetback to summary
public Mono<Void> fireAndForget(Payload payload)

Overrides default io.rsocket.RSocket.fireAndForget.

Doc from io.rsocket.RSocket.fireAndForget.

Fire and Forget interaction model of RSocket.

Parameters
payload:Payload

Request payload.

Returns:Mono<Void>

Publisher that completes when the passed payload is successfully handled, otherwise errors.

Annotations
@Override
getNextStreamIdback to summary
public int getNextStreamId()

Overrides io.rsocket.core.RequesterResponderSupport.getNextStreamId.

Doc from io.rsocket.core.RequesterResponderSupport.getNextStreamId.

Issues next streamId

Returns:int

issued streamId

Annotations
@Override
getRequesterLeaseTrackerback to summary
public RequesterLeaseTracker getRequesterLeaseTracker()

Overrides io.rsocket.core.RequesterResponderSupport.getRequesterLeaseTracker.

Annotations
@Override
handleFrameback to summary
private void handleFrame(int streamId, FrameType type, ByteBuf frame)
handleIncomingFramesback to summary
private void handleIncomingFrames(ByteBuf frame)
handleMissingResponseProcessorback to summary
private void handleMissingResponseProcessor(int streamId, FrameType type, ByteBuf frame)
Annotations
@SuppressWarnings:ConstantConditions
handleStreamZeroback to summary
private void handleStreamZero(FrameType type, ByteBuf frame)
isDisposedback to summary
public boolean isDisposed()

Overrides default io.rsocket.RSocket.isDisposed.

Doc from reactor.core.Disposable.isDisposed.

Optionally return true when the resource or task is disposed.

Implementations are not required to track disposition and as such may never return true even when disposed. However, they MUST only return true when there's a guarantee the resource or task is disposed.

Returns:boolean

true when there's a guarantee the resource or task is disposed.

Annotations
@Override
metadataPushback to summary
public Mono<Void> metadataPush(Payload payload)

Overrides default io.rsocket.RSocket.metadataPush.

Doc from io.rsocket.RSocket.metadataPush.

Metadata-Push interaction model of RSocket.

Parameters
payload:Payload

Request payloads.

Returns:Mono<Void>

Publisher that completes when the passed payload is successfully handled, otherwise errors.

Annotations
@Override
onCloseback to summary
public Mono<Void> onClose()

Overrides default io.rsocket.RSocket.onClose.

Doc from io.rsocket.Closeable.onClose.

Returns a Mono that terminates when the instance is terminated by any reason. Note, in case of error termination, the cause of error will be propagated as an error signal through org.reactivestreams.Subscriber#onError(Throwable). Otherwise, Subscriber#onComplete() will be called.

Returns:Mono<Void>

a Mono to track completion with success or error of the underlying resource. When the underlying resource is an `RSocket`, the Mono exposes stream 0 (i.e. connection level) errors.

Annotations
@Override
requestChannelback to summary
public Flux<Payload> requestChannel(Publisher<Payload> payloads)

Overrides default io.rsocket.RSocket.requestChannel.

Doc from io.rsocket.RSocket.requestChannel.

Request-Channel interaction model of RSocket.

Parameters
payloads:Publisher<Payload>

Stream of request payloads.

Returns:Flux<Payload>

Stream of response payloads.

Annotations
@Override
requestResponseback to summary
public Mono<Payload> requestResponse(Payload payload)

Overrides default io.rsocket.RSocket.requestResponse.

Doc from io.rsocket.RSocket.requestResponse.

Request-Response interaction model of RSocket.

Parameters
payload:Payload

Request payload.

Returns:Mono<Payload>

Publisher containing at most a single Payload representing the response.

Annotations
@Override
requestStreamback to summary
public Flux<Payload> requestStream(Payload payload)

Overrides default io.rsocket.RSocket.requestStream.

Doc from io.rsocket.RSocket.requestStream.

Request-Stream interaction model of RSocket.

Parameters
payload:Payload

Request payload.

Returns:Flux<Payload>

Publisher containing the stream of Payloads representing the response.

Annotations
@Override
terminateback to summary
private void terminate(Throwable e)
tryShutdownback to summary
private void tryShutdown(Throwable e)
tryShutdownback to summary
private void tryShutdown()
tryTerminateback to summary
private void tryTerminate(Supplier<Throwable> errorSupplier)
tryTerminateOnKeepAliveback to summary
private void tryTerminateOnKeepAlive(KeepAliveSupport.KeepAlive keepAlive)
tryTerminateOnZeroErrorback to summary
private void tryTerminateOnZeroError(ByteBuf errorFrame)