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 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); }