protected override IMessageProcessingPipeBuilder Configure(IMessageProcessingPipeBuilder builder) { return builder //.UseIdleDisconnect(TimeSpan.FromSeconds(60*10), this) //.UseInvalidHandshakeDisconnect<JoinRoomS2S>(TimeSpan.FromSeconds(5)) //.UseFiber(new ReadWriteLockingFiber()) .UseFiber(new SimpleFiber(TaskScheduler.Default, 10)) // no more than 10 parallel request from same client .UseConfigurableDispatcher(config => config .HandleRequestAsync<JoinRoom, JoinRoomResponse>(OnRoomJoin) .HandleMessage<Say>(OnSay), throwIfUnhandled: false); }
protected override IMessageProcessingPipeBuilder Configure(IMessageProcessingPipeBuilder builder) { return(builder //.UseIdleDisconnect(TimeSpan.FromSeconds(60*10), this) //.UseInvalidHandshakeDisconnect<JoinRoomS2S>(TimeSpan.FromSeconds(5)) //.UseFiber(new ReadWriteLockingFiber()) .UseFiber(new SimpleFiber(TaskScheduler.Default, 10)) // no more than 10 parallel request from same client .UseConfigurableDispatcher(config => config .HandleRequestAsync <JoinRoom, JoinRoomResponse>(OnRoomJoin) .HandleMessage <Say>(OnSay), throwIfUnhandled: false)); }
protected override IMessageProcessingPipeBuilder Configure(IMessageProcessingPipeBuilder builder) { return(builder //.UseIdleDisconnect(TimeSpan.FromSeconds(60 * 10), this) //.UseInvalidHandshakeDisconnect<JoinRoomS2S>(TimeSpan.FromSeconds(5)) .UseFiber(new SimpleFiber(TaskScheduler.Default, 10)) .UseConfigurableDispatcher(config => config .HandleRequest <UseActor, OperationResult>(OnUseActor) .HandleRequestAsync <PingGateway, OperationResult>(OnPingGateway) .HandleRequestAsync <TestStateless, OperationResult>(OnTestStateless) .HandleRequestAsync <TestStateful, OperationResult>(OnTestStateful), throwIfUnhandled: false)); }
protected override IMessageProcessingPipeBuilder Configure(IMessageProcessingPipeBuilder builder) { return builder //.UseIdleDisconnect(TimeSpan.FromSeconds(60 * 10), this) //.UseInvalidHandshakeDisconnect<JoinRoomS2S>(TimeSpan.FromSeconds(5)) .UseFiber(new SimpleFiber(TaskScheduler.Default, 10)) .UseConfigurableDispatcher(config => config .HandleRequest<UseActor, OperationResult>(OnUseActor) .HandleRequestAsync<PingGateway, OperationResult>(OnPingGateway) .HandleRequestAsync<TestStateless, OperationResult>(OnTestStateless) .HandleRequestAsync<TestStateful, OperationResult>(OnTestStateful), throwIfUnhandled: false); }
protected virtual IMessageProcessingPipeBuilder ConfigurePipe(IMessageProcessingPipeBuilder builder) { return builder .UseFiber(Fiber, ConfigureLocks) .UseConfigurableDispatcher(ConfigureHandlers); }
protected virtual IMessageProcessingPipeBuilder ConfigurePipe(IMessageProcessingPipeBuilder builder) { return(builder .UseFiber(Fiber, ConfigureLocks) .UseConfigurableDispatcher(ConfigureHandlers)); }