Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DoOperationReceiveFromSingleBuffer()

unsafe SocketError System.Net.Sockets.SocketAsyncEventArgs.DoOperationReceiveFromSingleBuffer ( SafeSocketHandle handle,
CancellationToken cancellationToken )
inlinepackageinherited

Definition at line 1237 of file SocketAsyncEventArgs.cs.

1238 {
1239 fixed (byte* ptr = &MemoryMarshal.GetReference(_buffer.Span))
1240 {
1242 try
1243 {
1245 WSABuffer wSABuffer = default(WSABuffer);
1246 wSABuffer.Length = _count;
1247 wSABuffer.Pointer = (IntPtr)(ptr + _offset);
1248 WSABuffer buffer = wSABuffer;
1249 SocketFlags socketFlags = _socketFlags;
1250 int bytesTransferred;
1251 SocketError socketError = global::Interop.Winsock.WSARecvFrom(handle, ref buffer, 1, out bytesTransferred, ref socketFlags, PtrSocketAddressBuffer, PtrSocketAddressBufferSize, overlapped, IntPtr.Zero);
1253 }
1254 catch
1255 {
1258 throw;
1259 }
1260 }
1261 }
unsafe NativeOverlapped * AllocateNativeOverlapped()
volatile AsyncProcessingState _asyncProcessingState
unsafe void FreeNativeOverlapped(NativeOverlapped *overlapped)
unsafe SocketError ProcessIOCPResultWithDeferredAsyncHandling(bool success, int bytesTransferred, NativeOverlapped *overlapped, Memory< byte > bufferToPin, CancellationToken cancellationToken=default(CancellationToken))
unsafe Span< T > Span
Definition Memory.cs:28

References System.Net.Sockets.SocketAsyncEventArgs._asyncProcessingState, System.Net.Sockets.SocketAsyncEventArgs._buffer, System.Net.Sockets.SocketAsyncEventArgs._count, System.Net.Sockets.SocketAsyncEventArgs._offset, System.Net.Sockets.SocketAsyncEventArgs._socketFlags, System.Net.Sockets.SocketAsyncEventArgs.AllocateNativeOverlapped(), System.buffer, System.cancellationToken, System.Net.Sockets.SocketAsyncEventArgs.FreeNativeOverlapped(), System.handle, System.Net.Sockets.SocketAsyncEventArgs.ProcessIOCPResultWithDeferredAsyncHandling(), System.Net.Sockets.SocketAsyncEventArgs.PtrSocketAddressBuffer, System.Net.Sockets.SocketAsyncEventArgs.PtrSocketAddressBufferSize, System.Memory< T >.Span, and System.IntPtr.Zero.

Referenced by System.Net.Sockets.SocketAsyncEventArgs.DoOperationReceiveFrom().