コード例 #1
0
ファイル: authentication.go プロジェクト: zwczou/goserver
func init() {
	netlib.RegisterFactory(int(protocol.CoreBuiltinPacketID_PACKET_SS_AUTH), netlib.PacketFactoryWrapper(func() interface{} {
		return &protocol.SSPacketAuth{}
	}))
	netlib.RegisteSessionFilterCreator(AuthenticationFilterName, func() netlib.SessionFilter {
		return &AuthenticationFilter{}
	})
}
コード例 #2
0
ファイル: keepalive.go プロジェクト: zwczou/goserver
func init() {
	netlib.RegisterFactory(int(protocol.CoreBuiltinPacketID_PACKET_SS_KEEPALIVE), netlib.PacketFactoryWrapper(func() interface{} {
		return &protocol.SSPacketKeepAlive{}
	}))
	netlib.RegisteSessionFilterCreator(KeepAliveFilterName, func() netlib.SessionFilter {
		return &KeepAliveFilter{}
	})
	netlib.RegisterHandler(int(protocol.CoreBuiltinPacketID_PACKET_SS_KEEPALIVE), netlib.HandlerWrapper(func(s *netlib.Session, data interface{}) error {
		if p, ok := data.(*protocol.SSPacketKeepAlive); ok {
			if p.GetFlag() == 0 {
				p.Flag = proto.Int32(1)
				s.Send(p)
			}
		}
		return nil
	}))
}
コード例 #3
0
ファイル: blacklist.go プロジェクト: zwczou/goserver
func init() {
	netlib.RegisteSessionFilterCreator(BlackListFilterName, func() netlib.SessionFilter {
		return &BlackListFilter{blacklist: list.New()}
	})
}
コード例 #4
0
ファイル: connectionthrottle.go プロジェクト: zwczou/goserver
func init() {
	netlib.RegisteSessionFilterCreator(ConnectionThrottleFilterName, func() netlib.SessionFilter {
		return &ConnectionThrottleFilter{clients: container.NewSynchronizedMap(), AllowedInterval: DefaultAllowedInterval}
	})
}
コード例 #5
0
ファイル: trace.go プロジェクト: zwczou/goserver
func init() {
	netlib.RegisteSessionFilterCreator(SessionFilterTraceName, func() netlib.SessionFilter {
		tNow := time.Now()
		return &SessionFilterTrace{dumpTime: tNow, recvTime: tNow, sendTime: tNow}
	})
}
コード例 #6
0
ファイル: sessionfiltertrace.go プロジェクト: zwczou/goserver
func init() {
	netlib.RegisteSessionFilterCreator(SessionFilterName, func() netlib.SessionFilter {
		return &SessionFilterTrace{}
	})
}