internal override void Send(RioBufferSegment segment, RIO_SEND_FLAGS flags) { Debug.Assert(inUse); lastSendStart = RioSocketPool.CurrentTime; Interlocked.Increment(ref pendingSends); segment._internalCompletionSignal = onSendCompletion; segment.socketId = currentId; base.Send(segment, flags); }
internal unsafe void SendInternal(RioBufferSegment segment, RIO_SEND_FLAGS flags) { if (!RioStatic.Send(_requestQueue, segment.SegmentPointer, 1, flags, segment.Index)) WinSock.ThrowLastWSAError(); }
internal virtual void Send(RioBufferSegment segment, RioBufferSegment remoteAdress, RIO_SEND_FLAGS flags) { Debug.Assert(inUse); if (!RioStatic.SendEx(_requestQueue, segment.SegmentPointer, 1, RIO_BUF.NullSegment, remoteAdress.SegmentPointer, RIO_BUF.NullSegment, RIO_BUF.NullSegment, flags, segment.Index)) { WinSock.ThrowLastWSAError(); } }
internal void SendAndDispose(RioBufferSegment segment, IPEndPoint remoteAdress, RIO_SEND_FLAGS flags) { Debug.Assert(inUse); var adresssegment = AllocateAdress(remoteAdress); SendAndDispose(segment, adresssegment, flags); adresssegment.Dispose(); }
internal void Send(RioBufferSegment segment, IPEndPoint remoteAdress, RIO_SEND_FLAGS flags) { Debug.Assert(inUse); var adresssegment = AllocateAdress(remoteAdress); Send(segment, adresssegment, flags); adresssegment.Dispose(); }
internal virtual void Send(RioBufferSegment segment, RioBufferSegment remoteAdress, RIO_SEND_FLAGS flags) { Debug.Assert(inUse); if (!RioStatic.SendEx(_requestQueue, segment.SegmentPointer, 1, RIO_BUF.NullSegment, remoteAdress.SegmentPointer, RIO_BUF.NullSegment, RIO_BUF.NullSegment, flags, segment.Index)) WinSock.ThrowLastWSAError(); }
internal virtual void SendAndDispose(RioBufferSegment segment, RIO_SEND_FLAGS flags) { Debug.Assert(inUse); segment.DisposeOnComplete(); if (!RioStatic.Send(_requestQueue, segment.SegmentPointer, 1, flags, segment.Index)) WinSock.ThrowLastWSAError(); }