123456789101112131415161718192021222324 |
- package experimental
- import (
- "os"
- "github.com/sagernet/sing-box/adapter"
- "github.com/sagernet/sing-box/log"
- "github.com/sagernet/sing-box/option"
- )
- type SSMServerConstructor = func(router adapter.Router, logger log.Logger, options option.SSMAPIOptions) (adapter.SSMServer, error)
- var ssmServerConstructor SSMServerConstructor
- func RegisterSSMServerConstructor(constructor SSMServerConstructor) {
- ssmServerConstructor = constructor
- }
- func NewSSMServer(router adapter.Router, logger log.Logger, options option.SSMAPIOptions) (adapter.SSMServer, error) {
- if ssmServerConstructor == nil {
- return nil, os.ErrInvalid
- }
- return ssmServerConstructor(router, logger, options)
- }
|