123456789101112131415161718192021222324252627282930 |
- package protocol
- import (
- "github.com/xtls/xray-core/common/net"
- )
- type ServerSpec struct {
- Destination net.Destination
- User *MemoryUser
- }
- func NewServerSpec(dest net.Destination, user *MemoryUser) *ServerSpec {
- return &ServerSpec{
- Destination: dest,
- User: user,
- }
- }
- 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()
- if err != nil {
- return nil, err
- }
- dUser = user
- }
- return NewServerSpec(dest, dUser), nil
- }
|