protected void push <callType>(callType call) where callType : ServerCall { Sender = null; serverValue = null; AutoCSer.Threading.RingPool <callType> .Default.PushNotNull(call); }
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; } }
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); }
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); }
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; } }
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; } }
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; }
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); }