public override void CompleteRead(ref Output output, long ctx, Status status) { byte *d = networkSender.GetResponseObjectHead(); var dend = networkSender.GetResponseObjectTail(); if ((int)(dend - dcurr) < 7 + networkSender.GetMaxSizeSettings.MaxOutputSize) { SendAndReset(ref d, ref dend); } hrw.Write(MessageType.PendingResult, ref dcurr, (int)(dend - dcurr)); hrw.Write((MessageType)(ctx >> 32), ref dcurr, (int)(dend - dcurr)); Write((int)(ctx & 0xffffffff), ref dcurr, (int)(dend - dcurr)); Write(ref status, ref dcurr, (int)(dend - dcurr)); if (status.Found) { serializer.Write(ref output, ref dcurr, (int)(dend - dcurr)); } msgnum++; }
public override void CompleteRead(ref Output output, long ctx, core.Status status) { byte *d = responseObject.obj.bufferPtr; var dend = d + responseObject.obj.buffer.Length; if ((int)(dend - dcurr) < 7 + maxSizeSettings.MaxOutputSize) { SendAndReset(ref d, ref dend); } hrw.Write(MessageType.PendingResult, ref dcurr, (int)(dend - dcurr)); hrw.Write((MessageType)(ctx >> 32), ref dcurr, (int)(dend - dcurr)); Write((int)(ctx & 0xffffffff), ref dcurr, (int)(dend - dcurr)); Write(ref status, ref dcurr, (int)(dend - dcurr)); if (status != core.Status.NOTFOUND) { serializer.Write(ref output, ref dcurr, (int)(dend - dcurr)); } msgnum++; }