1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-05 09:47:56 -05:00
v2fly/transport/internet/conn_authenticator.go
2017-01-12 22:47:10 +01:00

29 lines
533 B
Go

package internet
import (
"errors"
"net"
"context"
"v2ray.com/core/common"
)
type ConnectionAuthenticator interface {
Client(net.Conn) net.Conn
Server(net.Conn) net.Conn
}
func CreateConnectionAuthenticator(config interface{}) (ConnectionAuthenticator, error) {
auth, err := common.CreateObject(context.Background(), config)
if err != nil {
return nil, err
}
switch a := auth.(type) {
case ConnectionAuthenticator:
return a, nil
default:
return nil, errors.New("Internet: Not a ConnectionAuthenticator.")
}
}