public void SendAsync(byte[] Data, Action Callback = null) { var DataCopy = new byte[Data.Length]; Array.Copy(Data, DataCopy, Data.Length); var BuffersCopy = new List <ArraySegment <byte> >() { new ArraySegment <byte>(DataCopy) }; AsyncQueue.Add(() => { try { NativeSocket.BeginSend(BuffersCopy, SocketFlags.None, (IAsyncResult) => { SocketError SocketError; NativeSocket.EndSend(IAsyncResult, out SocketError); Core.EnqueueTask(() => { if (Callback != null) { Callback(); } AsyncQueue.Next(); }); }, null); } catch (SocketException SocketException) { SocketExceptionThrown(SocketException); } }); }
public override void Invalidate(Rectangle rect, bool invalidateChildren) { if (NeedsQueue) { AsyncQueue.Add(() => Invalidate(rect, invalidateChildren)); return; } base.Invalidate(rect, invalidateChildren); }
internal void Save(Interfaces.Files.IInteraction sysinteraction, string data) { AsyncQueue.Add(() => sysinteraction.Save(data)); }
public void AddItemToQueue(Action action, Action <Exception> errorCallback = null) { _asyncQueue.Add(new TaskDescriptor(action, errorCallback)); }
public void Log(LogEntry entry) { messageQueue.Add(entry); }
public void Write(LiftEvent item) => _events.Add(item);