remote

package
v0.10.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package remote provides a client/server architecture for connecting to and hosting a remote forwarding endpoint.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewEndpoint

func NewEndpoint(
	connection net.Conn,
	version forwarding.Version,
	configuration *forwarding.Configuration,
	protocol string,
	address string,
	source bool,
) (forwarding.Endpoint, error)

NewEndpoint creates a new forwarding.Endpoint object that operates over a multiplexed connection. If this function fails, then the provided connection will be closed. Once the endpoint has been established, the underlying connection is owned by that endpoint and will be closed when the endpoint is shut down.

func ServeEndpoint

func ServeEndpoint(logger *logging.Logger, connection net.Conn) error

ServeEndpoint creates and serves a remote endpoint server on the specified connection. It enforces that the provided connection is closed by the time this function returns, regardless of failure.

Types

type InitializeForwardingRequest

type InitializeForwardingRequest struct {
	// Field 1 is reserved for the session identifier.
	// Version is the session version.
	Version forwarding.Version `protobuf:"varint,2,opt,name=version,proto3,enum=forwarding.Version" json:"version,omitempty"`
	// Configuration is the session configuration.
	Configuration *forwarding.Configuration `protobuf:"bytes,3,opt,name=configuration,proto3" json:"configuration,omitempty"`
	// Protocol is the protocol specification for the listener/dialer.
	Protocol string `protobuf:"bytes,4,opt,name=protocol,proto3" json:"protocol,omitempty"`
	// Address it the bind address for a listener or dial address for a dialer.
	Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
	// Listener indicates whether this endpoint should function as a listener or
	// dialer for the associated address.
	Listener             bool     `protobuf:"varint,6,opt,name=listener,proto3" json:"listener,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

InitializeForwardingRequest is the initialization request sent to remote forwarding endpoints.

func (*InitializeForwardingRequest) Descriptor

func (*InitializeForwardingRequest) Descriptor() ([]byte, []int)

func (*InitializeForwardingRequest) GetAddress

func (m *InitializeForwardingRequest) GetAddress() string

func (*InitializeForwardingRequest) GetConfiguration

func (m *InitializeForwardingRequest) GetConfiguration() *forwarding.Configuration

func (*InitializeForwardingRequest) GetListener

func (m *InitializeForwardingRequest) GetListener() bool

func (*InitializeForwardingRequest) GetProtocol

func (m *InitializeForwardingRequest) GetProtocol() string

func (*InitializeForwardingRequest) GetVersion

func (*InitializeForwardingRequest) ProtoMessage

func (*InitializeForwardingRequest) ProtoMessage()

func (*InitializeForwardingRequest) Reset

func (m *InitializeForwardingRequest) Reset()

func (*InitializeForwardingRequest) String

func (m *InitializeForwardingRequest) String() string

func (*InitializeForwardingRequest) XXX_DiscardUnknown

func (m *InitializeForwardingRequest) XXX_DiscardUnknown()

func (*InitializeForwardingRequest) XXX_Marshal

func (m *InitializeForwardingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitializeForwardingRequest) XXX_Merge

func (m *InitializeForwardingRequest) XXX_Merge(src proto.Message)

func (*InitializeForwardingRequest) XXX_Size

func (m *InitializeForwardingRequest) XXX_Size() int

func (*InitializeForwardingRequest) XXX_Unmarshal

func (m *InitializeForwardingRequest) XXX_Unmarshal(b []byte) error

type InitializeForwardingResponse

type InitializeForwardingResponse struct {
	// Error is any error that occurred during initialization.
	Error                string   `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

InitializeForwardingResponse is the initialization response sent from remote forwarding endpoint.

func (*InitializeForwardingResponse) Descriptor

func (*InitializeForwardingResponse) Descriptor() ([]byte, []int)

func (*InitializeForwardingResponse) GetError

func (m *InitializeForwardingResponse) GetError() string

func (*InitializeForwardingResponse) ProtoMessage

func (*InitializeForwardingResponse) ProtoMessage()

func (*InitializeForwardingResponse) Reset

func (m *InitializeForwardingResponse) Reset()

func (*InitializeForwardingResponse) String

func (*InitializeForwardingResponse) XXX_DiscardUnknown

func (m *InitializeForwardingResponse) XXX_DiscardUnknown()

func (*InitializeForwardingResponse) XXX_Marshal

func (m *InitializeForwardingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitializeForwardingResponse) XXX_Merge

func (m *InitializeForwardingResponse) XXX_Merge(src proto.Message)

func (*InitializeForwardingResponse) XXX_Size

func (m *InitializeForwardingResponse) XXX_Size() int

func (*InitializeForwardingResponse) XXX_Unmarshal

func (m *InitializeForwardingResponse) XXX_Unmarshal(b []byte) error

Directories

Path Synopsis
internal
closewrite
Package closewrite implements a simple framing protocol on top of connections to facilitate write closure (i.e.
Package closewrite implements a simple framing protocol on top of connections to facilitate write closure (i.e.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL