public static IOArgs Alloc(IOHandler handler, int size = -1) { IOArgs args = Alloc(size); args.Handler = handler; return(args); }
internal static void Return(IOArgs args) { if (_argsPool.Count > MaxArgsCount) { args.BaseDispose(); } _argsPool.Enqueue(args); }
private static void OnIO(object sender, SocketAsyncEventArgs sArgs) { IOArgs args = (IOArgs)sArgs; if (args.Handler == null) { args.Dispose(); } else { args.Handler.SubmitIO(args); } }
public void Submit(IOArgs args) { _pendingArgs.Add(args); }
public abstract void OnIOException(IOArgs args, Exception ex);
public abstract void OnIO(IOArgs args);
public void SubmitIO(IOArgs args) { Queue.Submit(args); }