protected override IIncomingPacketConsumer BuildConsumer(Type type, IIncomingPacketParser parser, IIncomingPacketHandler handler) { if (handler == null || !typeof(IClientSessionPacketHandler).IsAssignableFrom(handler.GetType())) { return(base.BuildConsumer(type, parser, handler)); } Type consumerType = typeof(IncomingClientSessionPacketConsumer <>); consumerType = consumerType.MakeGenericType(type); return((IIncomingPacketConsumer)Activator.CreateInstance(consumerType, new object[] { parser, handler }) !); }
public IncomingClientSessionPacketConsumer(IIncomingPacketParser <T> parser, AbstractIncomingClientSessionPacketHandler <T> handler) { this.Parser = parser; this.Handler = handler; }