Documentation
¶
Index ¶
- Constants
- func GetActionData(value string, data interface{}) (err error)
- func Proxy(from, to net.Conn)
- type AuthActionData
- type CreateActionData
- type DatatunnelControlServer
- func (s *DatatunnelControlServer) ControlStream(server proto.DatatunnelController_ControlStreamServer) error
- func (s *DatatunnelControlServer) GetSAConnection(saID string, serviceName string, timeout int) net.Conn
- func (s *DatatunnelControlServer) Go()
- func (s *DatatunnelControlServer) SAIsConnected(saID string, serviceName string) bool
- func (s *DatatunnelControlServer) SendCreateAction(server proto.DatatunnelController_ControlStreamServer, port int, ...) (err error)
- func (s *DatatunnelControlServer) SendNewConnection(saID string, serviceName string) error
- type DatatunnelControlServerOption
- type NewActionData
- type PortRange
- type TunnelClient
- type TunnelClientOption
- type TunnelServer
- type TunnelServerOption
Constants ¶
View Source
const ( AuthAction = "Auth" // 认证,由SA发起 CreateAction = "Create" // 认证通过, 创建数据通道客户端,由SC发起 NewAction = "New" // 新建一个TCP连接,由SC发起 ErrorAction = "Error" // 错误事件 )
View Source
const ( DefaultTCPKeepAlivePeriod = (5 * time.Minute) DefaultLingerSecond = 30 )
View Source
const (
MonitorSleepTime = (time.Second * time.Duration(30))
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AuthActionData ¶
type AuthActionData struct {
SAID string `json:"sa_id"`
Key string `json:"key"`
ServiceName string `json:"service_name"`
}
AuthActionData 认证事件数据格式
type CreateActionData ¶
CreateActionData 新建时间数据格式
type DatatunnelControlServer ¶
type DatatunnelControlServer struct {
proto.UnimplementedDatatunnelControllerServer
// contains filtered or unexported fields
}
func NewDatatunnelControlServer ¶
func NewDatatunnelControlServer(option *DatatunnelControlServerOption) *DatatunnelControlServer
func (*DatatunnelControlServer) ControlStream ¶
func (s *DatatunnelControlServer) ControlStream(server proto.DatatunnelController_ControlStreamServer) error
func (*DatatunnelControlServer) GetSAConnection ¶
func (s *DatatunnelControlServer) GetSAConnection(saID string, serviceName string, timeout int) net.Conn
GetSAConnection 获取SA连接
func (*DatatunnelControlServer) Go ¶
func (s *DatatunnelControlServer) Go()
func (*DatatunnelControlServer) SAIsConnected ¶
func (s *DatatunnelControlServer) SAIsConnected(saID string, serviceName string) bool
SAIsConnected SA的控制通道与数据通道是否已经连接成功
func (*DatatunnelControlServer) SendCreateAction ¶
func (s *DatatunnelControlServer) SendCreateAction(server proto.DatatunnelController_ControlStreamServer, port int, serviceName string) (err error)
SendCreateAction 认证通过,通知SA创建数据通道客户端
func (*DatatunnelControlServer) SendNewConnection ¶
func (s *DatatunnelControlServer) SendNewConnection(saID string, serviceName string) error
SendNewConnection 通知SA创建新连接
type NewActionData ¶
type NewActionData struct {
ServiceName string `json:"service_name"`
ConnectionKey string `json:"key"`
}
NewActionData 新建TCP连接数据格式
type TunnelClient ¶
type TunnelClient struct {
// contains filtered or unexported fields
}
func NewTunnelClient ¶
func NewTunnelClient(option *TunnelClientOption) *TunnelClient
type TunnelClientOption ¶
type TunnelServer ¶
type TunnelServer struct {
// contains filtered or unexported fields
}
func NewTunnelServer ¶
func NewTunnelServer(option *TunnelServerOption) *TunnelServer
func (*TunnelServer) Go ¶
func (s *TunnelServer) Go()
func (*TunnelServer) GoClient ¶
func (s *TunnelServer) GoClient(listener *net.TCPListener)
func (*TunnelServer) RunClient ¶
func (s *TunnelServer) RunClient(addr *net.TCPAddr)
func (*TunnelServer) Stop ¶
func (s *TunnelServer) Stop()
func (*TunnelServer) StopClient ¶
func (s *TunnelServer) StopClient()
Source Files
¶
Click to show internal directories.
Click to hide internal directories.