static void AddToPipe(Type[] types, DataPipe pipe) { foreach (Type t in types) { DataFilter dataFilter = (DataFilter)t.GetConstructor( new Type[] {} ).Invoke( new object[] {} ); dataFilter.Pipe = pipe; pipe.Add(dataFilter); } }
internal static DataPipe CreateClientUdp(CAClient client) { DataPipe dataPipe = PopulatePipe( new Type[] { typeof(UdpReceiver), typeof(PacketSplitter), typeof(ClientHandleMessage) } ); ( (ClientHandleMessage)dataPipe.LastFilter ).Client = client; return(dataPipe); }
internal static DataPipe CreateServerTcp(CAServer server, Socket client) { DataPipe res = PopulatePipe( new Type[] { typeof(ServerTcpReceiver), typeof(PacketSplitter), typeof(ServerHandleMessage) } ); // ((TcpReceiver)res[0]).Start(iPEndPoint) ; ( (ServerHandleMessage)res.LastFilter ).Server = server; ( (ServerTcpReceiver)res.FirstFilter ).Init(client); return(res); }
internal static DataPipe CreateClientTcp(CAClient client, System.Net.IPEndPoint iPEndPoint) { DataPipe res = PopulatePipe( new Type[] { typeof(ClientTcpReceiver), typeof(PacketSplitter), typeof(ClientHandleMessage) } ); ( (ClientTcpReceiver)res[0] ).Init( client, iPEndPoint ); ( (ClientHandleMessage)res.LastFilter ).Client = client; return(res); }
internal static DataPipe CreateServerUdp(CAServer server, IPAddress address, int udpPort) { DataPipe dataPipe = new DataPipe(); dataPipe.Add( new UdpReceiver( address, udpPort ) ); dataPipe[0].Pipe = dataPipe; AddToPipe( new Type[] { typeof(PacketSplitter), typeof(ServerHandleMessage) }, dataPipe ); ( (ServerHandleMessage)dataPipe.LastFilter ).Server = server; return(dataPipe); }