//--------------------------------------------------------------------- public override void ChannelActive(IChannelHandlerContext context) { this.session = (GatewaySession)this.factory.createRpcSession(null); this.session.ChannelActive(context); Gateway.Instance.addSession(context, this.session); }
//--------------------------------------------------------------------- public void addSession(IChannelHandlerContext c, GatewaySession s) { lock (lockSetSession) { this.setSession.Add(c); } }
//--------------------------------------------------------------------- public override void ChannelInactive(IChannelHandlerContext context) { Gateway.Instance.removeSession(context); if (this.session != null) { this.session.ChannelInactive(context); this.session = null; } }
//--------------------------------------------------------------------- public override void ChannelInactive(IChannelHandlerContext context) { IChannelGroup g = Gateway.Instance.ChannelGroup; if (g != null) { g.Remove(context.Channel); } if (this.session != null) { this.session.ChannelInactive(context); this.session = null; } }
//--------------------------------------------------------------------- public override void ChannelActive(IChannelHandlerContext context) { this.session = (GatewaySession)this.factory.createRpcSession(null); this.session.ChannelActive(context); IChannelGroup g = Gateway.Instance.ChannelGroup; if (g == null) { lock (this) { if (Gateway.Instance.ChannelGroup == null) { g = Gateway.Instance.ChannelGroup = new DefaultChannelGroup(context.Executor); } } } Gateway.Instance.ChannelGroup.Add(context.Channel); }
//--------------------------------------------------------------------- public void addSession(IChannelHandlerContext c, GatewaySession s) { this.gatewayRunner.addSession(c, s); }