Example #1
0
 protected void push <callType>(callType call)
     where callType : ServerCall
 {
     Sender      = null;
     serverValue = null;
     AutoCSer.Threading.RingPool <callType> .Default.PushNotNull(call);
 }
Example #2
0
        public void Call(ServerSocketSender socket, object serverValue, TcpServer.ServerTaskType taskType)
        {
            this.Sender      = socket;
            this.serverValue = serverValue;
            CommandIndex     = socket.ServerSocket.CommandIndex;
            //CommandFlags = CommandIdentity.GetCommandFlags();
            switch (taskType)
            {
            case TcpServer.ServerTaskType.ThreadPool: if (!System.Threading.ThreadPool.QueueUserWorkItem(ThreadPoolCall))
                {
                    AutoCSer.Threading.TaskSwitchThreadArray.Default.CurrentThread.Add(this);
                }
                return;

            case TcpServer.ServerTaskType.Timeout: AutoCSer.Threading.TaskSwitchThreadArray.Default.CurrentThread.Add(this); return;

            case TcpServer.ServerTaskType.TcpTask: TcpServer.ServerCallThreadArray.Default.CurrentThread.Add(this); return;

            case TcpServer.ServerTaskType.TcpQueue: TcpServer.ServerCallQueue.Default.Add(this); return;

            case TcpServer.ServerTaskType.TcpQueueLink: TcpServer.ServerCallQueue.DefaultLink.Add(this); return;

            case TcpServer.ServerTaskType.Queue: socket.Server.CallQueue.Add(this); return;

            case TcpServer.ServerTaskType.QueueLink: socket.Server.CallQueueLink.Add(this); return;
            }
        }
Example #3
0
 public void CallQueue(ServerSocketSender socket, object serverValue, AutoCSer.Net.TcpServer.ServerCallQueue queue)
 {
     this.Sender      = socket;
     this.serverValue = serverValue;
     CommandIndex     = socket.ServerSocket.CommandIndex;
     //CommandFlags = CommandIdentity.GetCommandFlags();
     queue.Add(this);
 }
Example #4
0
 protected override bool verify(ServerSocketSender sender, string userID, ulong randomPrefix, byte[] md5Data, ref long ticks)
 {
     if (base.verify(sender, userID, randomPrefix, md5Data, ref ticks))
     {
         ClientInfo client = createClient();
         clients.Add(client);
         sender.ClientObject = client;
         return(true);
     }
     return(false);
 }
Example #5
0
        private void set(ServerSocketSender socket, object serverValue)
        {
            this.Sender      = socket;
            this.serverValue = serverValue;
            switch (socket.ServerTaskType)
            {
            case TcpStreamServer.ServerTaskType.TcpQueue: TcpServer.ServerCallQueue.Default.Add(this); return;

            case TcpStreamServer.ServerTaskType.Queue: socket.Server.CallQueue.Add(this); return;
            }
        }
Example #6
0
        public void Call(ServerSocketSender socket, object serverValue, TcpServer.ServerTaskType taskType, byte callQueueIndex)
        {
            this.Sender      = socket;
            this.serverValue = serverValue;
            CommandIndex     = socket.ServerSocket.CommandIndex;
            //CommandFlags = CommandIdentity.GetCommandFlags();
            switch (taskType)
            {
            case TcpServer.ServerTaskType.Queue: socket.Server.CallQueueArray[callQueueIndex].Key.Add(this); return;

            case TcpServer.ServerTaskType.QueueLink: socket.Server.CallQueueArray[callQueueIndex].Value.Add(this); return;
            }
        }
Example #7
0
        protected virtual void getLog(ServerSocketSender sender, AutoCSer.Net.TcpServer.ServerCallback <ServerLog> onLog)
        {
            ClientInfo client = new UnionType {
                Value = sender.ClientObject
            }.ClientInfo;

            foreach (ServerSet serverSet in serverSets.Values)
            {
                if (!serverSet.OnLog(onLog))
                {
                    client.IsRemove = true;
                    return;
                }
            }
            client.OnLog = onLog;
        }
Example #8
0
 public static void Call <callType>(ServerSocketSender socket, object serverValue)
     where callType : ServerCall
 {
     (AutoCSer.Threading.RingPool <callType> .Default.Pop() ?? AutoCSer.Emit.Constructor <callType> .New()).set(socket, serverValue);
 }