1
mirror of https://github.com/XTLS/Xray-core.git synced 2025-12-12 12:42:26 +04:00
Files
xray-core/common/protocol/server_spec.go

31 lines
628 B
Go
Raw Permalink Normal View History

2020-11-25 19:01:53 +08:00
package protocol
import (
2020-12-04 09:36:16 +08:00
"github.com/xtls/xray-core/common/net"
2020-11-25 19:01:53 +08:00
)
type ServerSpec struct {
Destination net.Destination
User *MemoryUser
2020-11-25 19:01:53 +08:00
}
func NewServerSpec(dest net.Destination, user *MemoryUser) *ServerSpec {
2020-11-25 19:01:53 +08:00
return &ServerSpec{
Destination: dest,
User: user,
2020-11-25 19:01:53 +08:00
}
}
func NewServerSpecFromPB(spec *ServerEndpoint) (*ServerSpec, error) {
dest := net.TCPDestination(spec.Address.AsAddress(), net.Port(spec.Port))
var dUser *MemoryUser
if spec.User != nil {
user, err := spec.User.ToMemoryUser()
2020-11-25 19:01:53 +08:00
if err != nil {
return nil, err
}
dUser = user
2020-11-25 19:01:53 +08:00
}
return NewServerSpec(dest, dUser), nil
2020-11-25 19:01:53 +08:00
}