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

◆ Send() [3/11]

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

Definition at line 1525 of file Socket.cs.

1526 {
1529 errorCode = SocketError.Success;
1531 if (System.Net.NetEventSource.Log.IsEnabled())
1532 {
1533 System.Net.NetEventSource.Info(this, $"SRC:{LocalEndPoint} DST:{RemoteEndPoint} size:{size}", "Send");
1534 }
1535 errorCode = SocketPal.Send(_handle, buffer, offset, size, socketFlags, out var bytesTransferred);
1536 if (errorCode != 0)
1537 {
1540 if (System.Net.NetEventSource.Log.IsEnabled())
1541 {
1542 System.Net.NetEventSource.Error(this, new SocketException((int)errorCode), "Send");
1543 }
1544 return 0;
1545 }
1546 if (SocketsTelemetry.Log.IsEnabled())
1547 {
1548 SocketsTelemetry.Log.BytesSent(bytesTransferred);
1549 if (SocketType == SocketType.Dgram)
1550 {
1551 SocketsTelemetry.Log.DatagramSent();
1552 }
1553 }
1554 if (System.Net.NetEventSource.Log.IsEnabled())
1555 {
1556 System.Net.NetEventSource.Info(this, $"Send returns:{bytesTransferred}", "Send");
1558 }
1559 return bytesTransferred;
1560 }
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 UpdateSendSocketErrorForDisposed(ref SocketError socketError)
Definition Socket.cs:3798
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.Send(), System.Net.Sockets.Socket.ThrowIfDisposed(), System.Net.Sockets.Socket.UpdateSendSocketErrorForDisposed(), System.Net.Sockets.Socket.UpdateStatusAfterSocketError(), System.Net.Sockets.Socket.ValidateBlockingMode(), and System.Net.Sockets.Socket.ValidateBufferArguments().