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

◆ Receive() [3/11]

int System.Net.Sockets.Socket.Receive ( byte[] buffer,
int offset,
int size,
SocketFlags socketFlags,
out SocketError errorCode )
inline

Definition at line 1746 of file Socket.cs.

1747 {
1751 if (System.Net.NetEventSource.Log.IsEnabled())
1752 {
1753 System.Net.NetEventSource.Info(this, $"SRC:{LocalEndPoint} DST:{RemoteEndPoint} size:{size}", "Receive");
1754 }
1755 errorCode = SocketPal.Receive(_handle, buffer, offset, size, socketFlags, out var bytesTransferred);
1757 if (errorCode != 0)
1758 {
1760 if (System.Net.NetEventSource.Log.IsEnabled())
1761 {
1762 System.Net.NetEventSource.Error(this, new SocketException((int)errorCode), "Receive");
1763 }
1764 return 0;
1765 }
1766 if (SocketsTelemetry.Log.IsEnabled())
1767 {
1768 SocketsTelemetry.Log.BytesReceived(bytesTransferred);
1769 if (SocketType == SocketType.Dgram)
1770 {
1771 SocketsTelemetry.Log.DatagramReceived();
1772 }
1773 }
1774 if (System.Net.NetEventSource.Log.IsEnabled())
1775 {
1777 }
1778 return bytesTransferred;
1779 }
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
static void Error(object thisOrContextObject, FormattableString formattableString, [CallerMemberName] string memberName=null)
static void DumpBuffer(object thisOrContextObject, byte[] buffer, int offset, int count, [CallerMemberName] string memberName=null)
void UpdateReceiveSocketErrorForDisposed(ref SocketError socketError, int bytesTransferred)
Definition Socket.cs:3790
static void ValidateBufferArguments(byte[] buffer, int offset, int size)
Definition Socket.cs:4250
SafeSocketHandle _handle
Definition Socket.cs:533
void UpdateStatusAfterSocketError(SocketException socketException)
Definition Socket.cs:3726

References System.Net.Sockets.Socket._handle, System.buffer, System.Net.NetEventSource.DumpBuffer(), System.Net.NetEventSource.Error(), System.Net.NetEventSource.Info(), System.Net.NetEventSource.Log, System.Net.Sockets.SocketsTelemetry.Log, System.offset, System.Net.Sockets.SocketPal.Receive(), System.Net.Sockets.Socket.ThrowIfDisposed(), System.Net.Sockets.Socket.UpdateReceiveSocketErrorForDisposed(), System.Net.Sockets.Socket.UpdateStatusAfterSocketError(), System.Net.Sockets.Socket.ValidateBlockingMode(), and System.Net.Sockets.Socket.ValidateBufferArguments().