public static TcpSessionApplicationWorkerConnection CreateApplicationWorkerChannelDispatcher(this ApportionDispatcher apportionDispatcher, IDictionary <long, TcpSessionChannelDispatcher> dispatchers, ConnectionWorkType workType) { var workerConnection = new TcpSessionApplicationWorkerConnection(); workerConnection.ConnectionWorkType = workType; workerConnection.SetSession(apportionDispatcher.CurrentSession); return(workerConnection); }
public void Join(TcpSessionApplicationWorkerConnection targetConnection) { if (IsJoin) { return; } IsJoin = true; _targetConnection = targetConnection; targetConnection.Join(this); }
public static TcpSessionApplicationWorkerConnection CreateApplicationWorkerChannelDispatcher(this ApportionDispatcher apportionDispatcher, IDictionary <long, TcpSessionChannelDispatcher> dispatchers, ConnectionWorkType workType) { var workerConnection = new TcpSessionApplicationWorkerConnection(); workerConnection.ConnectionWorkType = workType; workerConnection.SetSession(apportionDispatcher.GetCurrentSession()); var bufferData = apportionDispatcher.ListByteBuffer.ToArray(); if (bufferData.Length > 0)//如缓冲区有数据,则处理消息 { workerConnection.ListByteBuffer.AddRange(bufferData); } return(workerConnection); }