mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
876 B
35 lines
876 B
package proxy
|
|
|
|
var (
|
|
inboundFactories = make(map[string]InboundConnectionHandlerFactory)
|
|
outboundFactories = make(map[string]OutboundConnectionHandlerFactory)
|
|
)
|
|
|
|
func RegisterInboundConnectionHandlerFactory(name string, factory InboundConnectionHandlerFactory) error {
|
|
// TODO check name
|
|
inboundFactories[name] = factory
|
|
return nil
|
|
}
|
|
|
|
func RegisterOutboundConnectionHandlerFactory(name string, factory OutboundConnectionHandlerFactory) error {
|
|
// TODO check name
|
|
outboundFactories[name] = factory
|
|
return nil
|
|
}
|
|
|
|
func GetInboundConnectionHandlerFactory(name string) InboundConnectionHandlerFactory {
|
|
factory, found := inboundFactories[name]
|
|
if !found {
|
|
return nil
|
|
}
|
|
return factory
|
|
}
|
|
|
|
func GetOutboundConnectionHandlerFactory(name string) OutboundConnectionHandlerFactory {
|
|
factory, found := outboundFactories[name]
|
|
if !found {
|
|
return nil
|
|
}
|
|
return factory
|
|
}
|