public void OnWireReceived(UnsafeReader reader) { if (RdReactiveBase.LogReceived.IsTraceEnabled()) { RdReactiveBase.LogReceived.Trace($"{myParent.Location}.{RdId} received cancellation"); } reader.ReadVoid(); //nothing just a void signal myDefinition.Terminate(); }
public override void OnWireReceived(UnsafeReader reader) { using (myCall.UsingDebugInfo()) { //we are on endpoint side, so listening for cancellation Trace(RdReactiveBase.ourLogReceived, "received cancellation"); reader.ReadVoid(); //nothing just a void value ResultInternal.SetIfEmpty(RdTaskResult <TRes> .Cancelled()); myDef.Terminate(); } }
//received response from wire public void OnWireReceived(UnsafeReader reader) { using (myCall.UsingDebugInfo()) { if (myIsEndpoint) //we are on endpoint side, so listening for cancellation { Trace(RdReactiveBase.ourLogReceived, "received cancellation"); reader.ReadVoid(); //nothing just a void value ResultInternal.SetIfEmpty(RdTaskResult <TRes> .Cancelled()); } else // we are at call side, so listening no response and bind it if it's bindable { var resultFromWire = RdTaskResult <TRes> .Read(myCall.ReadResponseDelegate, myCall.SerializationContext, reader); Trace(RdReactiveBase.ourLogReceived, "received response", resultFromWire); if (!ResultInternal.SetIfEmpty(resultFromWire)) { Trace(RdReactiveBase.ourLogReceived, "response from wire was rejected because task already has result"); } } } }