if (firstPayload.compareAndSet(true, false)) { requestFrame = Frame.Request.from( streamId, FrameType.REQUEST_CHANNEL,
private Mono<Payload> handleRequestResponse(final Payload payload) { return lifecycle .active() .then( Mono.defer( () -> { int streamId = streamIdSupplier.nextStreamId(); final Frame requestFrame = Frame.Request.from(streamId, FrameType.REQUEST_RESPONSE, payload, 1); payload.release(); UnicastMonoProcessor<Payload> receiver = UnicastMonoProcessor.create(); receivers.put(streamId, receiver); sendProcessor.onNext(requestFrame); return receiver .doOnError(t -> sendProcessor.onNext(Frame.Error.from(streamId, t))) .doFinally( s -> { if (s == SignalType.CANCEL) { sendProcessor.onNext(Frame.Cancel.from(streamId)); } receivers.remove(streamId); }); })); }
if (first.compareAndSet(false, true) && !receiver.isDisposed()) { final Frame requestFrame = Frame.Request.from( streamId, FrameType.REQUEST_STREAM, payload, n); payload.release();
if (firstPayload.compareAndSet(true, false)) { requestFrame = Frame.Request.from( streamId, FrameType.REQUEST_CHANNEL,
if (first.compareAndSet(false, true) && !receiver.isDisposed()) { final Frame requestFrame = Frame.Request.from( streamId, FrameType.REQUEST_STREAM, payload, n); payload.release();
private Mono<Payload> handleRequestResponse(final Payload payload) { return lifecycle .active() .then( Mono.defer( () -> { int streamId = streamIdSupplier.nextStreamId(); final Frame requestFrame = Frame.Request.from(streamId, FrameType.REQUEST_RESPONSE, payload, 1); payload.release(); UnicastMonoProcessor<Payload> receiver = UnicastMonoProcessor.create(); receivers.put(streamId, receiver); sendProcessor.onNext(requestFrame); return receiver .doOnError(t -> sendProcessor.onNext(Frame.Error.from(streamId, t))) .doFinally( s -> { if (s == SignalType.CANCEL) { sendProcessor.onNext(Frame.Cancel.from(streamId)); } receivers.remove(streamId); }); })); }
public static Frame from(int streamId, FrameType type, Payload payload, long initialRequestN) { int v = initialRequestN > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) initialRequestN; return from(streamId, type, payload, v); }
private Mono<Void> handleFireAndForget(Payload payload) { return lifecycle .active() .then( Mono.fromRunnable( () -> { final int streamId = streamIdSupplier.nextStreamId(); final Frame requestFrame = Frame.Request.from(streamId, FrameType.REQUEST_FNF, payload, 1); payload.release(); sendProcessor.onNext(requestFrame); })); }
private Mono<Void> handleMetadataPush(Payload payload) { return lifecycle .active() .then( Mono.fromRunnable( () -> { final Frame requestFrame = Frame.Request.from(0, FrameType.METADATA_PUSH, payload, 1); payload.release(); sendProcessor.onNext(requestFrame); })); }
public static Frame from(int streamId, FrameType type, Payload payload, long initialRequestN) { int v = initialRequestN > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) initialRequestN; return from(streamId, type, payload, v); }
private Mono<Void> handleMetadataPush(Payload payload) { return lifecycle .active() .then( Mono.fromRunnable( () -> { final Frame requestFrame = Frame.Request.from(0, FrameType.METADATA_PUSH, payload, 1); payload.release(); sendProcessor.onNext(requestFrame); })); }
private void sendRequest(int streamId, FrameType frameType) { Frame request = Frame.Request.from(streamId, frameType, EmptyPayload.INSTANCE, 1); connection.addToReceivedBuffer(request); connection.addToReceivedBuffer(Frame.RequestN.from(streamId, 2)); } }
@Test public void testFrameWithMetadataToString() { final Frame requestFrame = Frame.Request.from( 1, FrameType.REQUEST_RESPONSE, DefaultPayload.create("streaming in -> 0", "metadata"), 1); assertEquals( "Frame => Stream ID: 1 Type: REQUEST_RESPONSE Payload: metadata: \"metadata\" data: \"streaming in -> 0\" ", requestFrame.toString()); }
private Mono<Void> handleFireAndForget(Payload payload) { return lifecycle .active() .then( Mono.fromRunnable( () -> { final int streamId = streamIdSupplier.nextStreamId(); final Frame requestFrame = Frame.Request.from(streamId, FrameType.REQUEST_FNF, payload, 1); payload.release(); sendProcessor.onNext(requestFrame); })); }
@Test public void testFrameToString() { final Frame requestFrame = Frame.Request.from( 1, FrameType.REQUEST_RESPONSE, DefaultPayload.create("streaming in -> 0"), 1); assertEquals( "Frame => Stream ID: 1 Type: REQUEST_RESPONSE Payload: data: \"streaming in -> 0\" ", requestFrame.toString()); }