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

◆ ReadCallback()

virtual void Terraria.Social.WeGame.IPCBase.ReadCallback ( IAsyncResult result)
inlinevirtual

Reimplemented in Terraria.Social.WeGame.IPCClient, and Terraria.Social.WeGame.IPCServer.

Definition at line 128 of file IPCBase.cs.

129 {
130 WeGameHelper.WriteDebugString("ReadCallback: " + Thread.CurrentThread.ManagedThreadId);
131 IPCContent iPCContent = (IPCContent)result.AsyncState;
132 try
133 {
134 int num = _pipeStream.EndRead(result);
135 if (!iPCContent.CancelToken.IsCancellationRequested)
136 {
137 if (num > 0)
138 {
139 _totalData.AddRange(iPCContent.data.Take(num));
141 {
143 _totalData = new List<byte>();
144 }
145 }
146 }
147 else
148 {
149 WeGameHelper.WriteDebugString("IPCBase.ReadCallback.cancel");
150 }
151 }
152 catch (IOException ex)
153 {
154 _pipeBrokenFlag = true;
155 WeGameHelper.WriteDebugString("ReadCallback Exception, {0}", ex.Message);
156 }
158 {
159 _pipeBrokenFlag = true;
160 WeGameHelper.WriteDebugString("ReadCallback Exception, {0}", ex2.Message);
161 }
162 }
void AddRange(IEnumerable< T > collection)
Definition List.cs:275
override int EndRead(IAsyncResult asyncResult)
static Thread CurrentThread
Definition Thread.cs:312
void AddPackToList(List< byte > pack)
Definition IPCBase.cs:50
volatile bool _pipeBrokenFlag
Definition IPCBase.cs:23

References Terraria.Social.WeGame.IPCBase._pipeBrokenFlag, Terraria.Social.WeGame.IPCBase._pipeStream, Terraria.Social.WeGame.IPCBase._totalData, Terraria.Social.WeGame.IPCBase.AddPackToList(), System.Collections.Generic.List< T >.AddRange(), System.IAsyncResult.AsyncState, System.Threading.Thread.CurrentThread, System.IO.Pipes.PipeStream.EndRead(), System.IO.Pipes.PipeStream.IsMessageComplete, and Terraria.Social.WeGame.WeGameHelper.WriteDebugString().

Referenced by Terraria.Social.WeGame.IPCBase.BeginReadData().