add config
This commit is contained in:
52
pkg/registry/registry.go
Normal file
52
pkg/registry/registry.go
Normal file
@ -0,0 +1,52 @@
|
||||
package registry
|
||||
|
||||
import (
|
||||
"github.com/go-gost/gost/pkg/components/connector"
|
||||
"github.com/go-gost/gost/pkg/components/dialer"
|
||||
"github.com/go-gost/gost/pkg/components/handler"
|
||||
"github.com/go-gost/gost/pkg/components/listener"
|
||||
)
|
||||
|
||||
type NewListener func(opts ...listener.Option) listener.Listener
|
||||
type NewHandler func(opts ...handler.Option) handler.Handler
|
||||
type NewDialer func(opts ...dialer.Option) dialer.Dialer
|
||||
type NewConnector func(opts ...connector.Option) connector.Connector
|
||||
|
||||
var (
|
||||
listeners = make(map[string]NewListener)
|
||||
handlers = make(map[string]NewHandler)
|
||||
dialers = make(map[string]NewDialer)
|
||||
connectors = make(map[string]NewConnector)
|
||||
)
|
||||
|
||||
func RegisterListener(name string, newf NewListener) {
|
||||
listeners[name] = newf
|
||||
}
|
||||
|
||||
func GetListener(name string) NewListener {
|
||||
return listeners[name]
|
||||
}
|
||||
|
||||
func RegisterHandler(name string, newf NewHandler) {
|
||||
handlers[name] = newf
|
||||
}
|
||||
|
||||
func GetHandler(name string) NewHandler {
|
||||
return handlers[name]
|
||||
}
|
||||
|
||||
func RegisterDialer(name string, newf NewDialer) {
|
||||
dialers[name] = newf
|
||||
}
|
||||
|
||||
func GetDialer(name string) NewDialer {
|
||||
return dialers[name]
|
||||
}
|
||||
|
||||
func RegiserConnector(name string, newf NewConnector) {
|
||||
connectors[name] = newf
|
||||
}
|
||||
|
||||
func GetConnector(name string) NewConnector {
|
||||
return connectors[name]
|
||||
}
|
Reference in New Issue
Block a user