예제 #1
0
        public void Cancel(Ring ring, OperationType op)
        {
            if (!ring.Supports(RingOperation.Cancel))
            {
                return;
            }

            int socket = Socket;

            if (!ring.TryPrepareCancel(new AsyncOperation(socket, op).AsUlong(), AsyncOperation.CancelOperation(op, socket).AsUlong()))
            {
                _scheduler.ScheduleCancel(AsyncOperation.CancelOperation(op, socket));
            }
        }