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
        }) !);
    }
예제 #2
0
 public IncomingClientSessionPacketConsumer(IIncomingPacketParser <T> parser, AbstractIncomingClientSessionPacketHandler <T> handler)
 {
     this.Parser  = parser;
     this.Handler = handler;
 }