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

◆ ReadMessageAsync< TAdapter >()

async ValueTask< byte[]> System.Net.StreamFramer.ReadMessageAsync< TAdapter > ( TAdapter adapter)
inline
Type Constraints
TAdapter :IReadWriteAdapter 

Definition at line 24 of file StreamFramer.cs.

25 {
26 if (_eof)
27 {
28 return null;
29 }
31 int num;
32 for (int offset = 0; offset < buffer.Length; offset += num)
33 {
34 num = await adapter.ReadAsync(buffer.AsMemory(offset)).ConfigureAwait(continueOnCapturedContext: false);
35 if (num == 0)
36 {
37 if (offset == 0)
38 {
39 _eof = true;
40 return null;
41 }
43 }
44 }
46 if (_curReadHeader.PayloadSize > 65535)
47 {
49 }
51 for (int offset = 0; offset < buffer.Length; offset += num)
52 {
53 num = await adapter.ReadAsync(buffer.AsMemory(offset)).ConfigureAwait(continueOnCapturedContext: false);
54 if (num == 0)
55 {
57 }
58 }
59 return buffer;
60 }
void CopyFrom(byte[] bytes, int start)
readonly byte[] _readHeaderBuffer
readonly FrameHeader _curReadHeader
static string net_io_readfailure
Definition SR.cs:158
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string net_frame_size
Definition SR.cs:84
static string net_io_connectionclosed
Definition SR.cs:160
Definition SR.cs:7

References System.Net.StreamFramer._curReadHeader, System.Net.StreamFramer._eof, System.Net.StreamFramer._readHeaderBuffer, System.buffer, System.Net.FrameHeader.CopyFrom(), System.SR.Format(), System.Globalization.NumberFormatInfo.InvariantInfo, System.SR.net_frame_size, System.SR.net_io_connectionclosed, System.SR.net_io_readfailure, System.offset, and System.Net.FrameHeader.PayloadSize.