public class ReassemblyDuplexConnection extends Object implements DuplexConnection
DuplexConnection implementation that reassembles ByteBufs.Disposable.Composite, Disposable.Swap| Constructor and Description |
|---|
ReassemblyDuplexConnection(DuplexConnection delegate,
boolean decodeLength) |
| Modifier and Type | Method and Description |
|---|---|
ByteBufAllocator |
alloc()
Returns the assigned
ByteBufAllocator. |
void |
dispose() |
Mono<Void> |
onClose()
Returns a
Mono that terminates when the instance is terminated by any reason. |
Flux<ByteBuf> |
receive()
Returns a stream of all
Frames received on this connection. |
Mono<Void> |
send(org.reactivestreams.Publisher<ByteBuf> frames)
Sends the source of Frames on this connection and returns the
Publisher representing
the result of this send. |
Mono<Void> |
sendOne(ByteBuf frame)
Sends a single
Frame on this connection and returns the Publisher representing
the result of this send. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitavailabilityisDisposedpublic ReassemblyDuplexConnection(DuplexConnection delegate, boolean decodeLength)
public Mono<Void> send(org.reactivestreams.Publisher<ByteBuf> frames)
DuplexConnectionPublisher representing
the result of this send.
Flow control
The passed Publisher must
send in interface DuplexConnectionframes - Stream of Frames to send on the connection.Publisher that completes when all the frames are written on the connection
successfully and errors when it fails.public Mono<Void> sendOne(ByteBuf frame)
DuplexConnectionFrame on this connection and returns the Publisher representing
the result of this send.sendOne in interface DuplexConnectionframe - Frame to send.Publisher that completes when the frame is written on the connection
successfully and errors when it fails.public Flux<ByteBuf> receive()
DuplexConnectionFrames received on this connection.
Completion
Returned Publisher MUST never emit a completion event (Subscriber.onComplete().
Error
Returned Publisher can error with various transport errors. If the underlying
physical connection is closed by the peer, then the returned stream from here MUST
emit an ClosedChannelException.
Multiple Subscriptions
Returned Publisher is not required to support multiple concurrent subscriptions.
RSocket will never have multiple subscriptions to this source. Implementations MUST
emit an IllegalStateException for subsequent concurrent subscriptions, if they do not
support multiple concurrent subscriptions.
receive in interface DuplexConnectionFrames received.public ByteBufAllocator alloc()
DuplexConnectionByteBufAllocator.alloc in interface DuplexConnectionByteBufAllocatorpublic Mono<Void> onClose()
CloseableMono 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
Subscriber.onError(Throwable). Otherwise, Subscriber.onComplete() will be called.public void dispose()
dispose in interface Disposable