pconn

package
v0.23.6 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
)
View Source
var File_github_com_aperturerobotics_bifrost_transport_common_pconn_pconn_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Link = transport_quic.Link

Link is a Quic-based connection/link backed by a packet connection.

type Opts

type Opts struct {

	// Quic are the quic protocol options.
	Quic *quic.Opts `protobuf:"bytes,1,opt,name=quic,proto3" json:"quic,omitempty"`
	// Verbose turns on verbose debug logging.
	Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// contains filtered or unexported fields
}

Opts are extra options for the packet conn.

func (*Opts) CloneMessageVT added in v0.15.6

func (m *Opts) CloneMessageVT() proto.Message

func (*Opts) CloneVT added in v0.8.3

func (m *Opts) CloneVT() *Opts

func (*Opts) Descriptor deprecated

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

Deprecated: Use Opts.ProtoReflect.Descriptor instead.

func (*Opts) EqualMessageVT added in v0.15.6

func (this *Opts) EqualMessageVT(thatMsg proto.Message) bool

func (*Opts) EqualVT added in v0.3.0

func (this *Opts) EqualVT(that *Opts) bool

func (*Opts) GetQuic

func (x *Opts) GetQuic() *quic.Opts

func (*Opts) GetVerbose

func (x *Opts) GetVerbose() bool

func (*Opts) MarshalToSizedBufferVT added in v0.2.0

func (m *Opts) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Opts) MarshalToVT added in v0.2.0

func (m *Opts) MarshalToVT(dAtA []byte) (int, error)

func (*Opts) MarshalVT added in v0.2.0

func (m *Opts) MarshalVT() (dAtA []byte, err error)

func (*Opts) ProtoMessage

func (*Opts) ProtoMessage()

func (*Opts) ProtoReflect added in v0.2.0

func (x *Opts) ProtoReflect() protoreflect.Message

func (*Opts) Reset

func (x *Opts) Reset()

func (*Opts) SizeVT added in v0.2.0

func (m *Opts) SizeVT() (n int)

func (*Opts) String

func (x *Opts) String() string

func (*Opts) UnmarshalVT added in v0.2.0

func (m *Opts) UnmarshalVT(dAtA []byte) error

type Transport

type Transport struct {
	// Transport is the underlying quic transport
	*transport_quic.Transport
	// contains filtered or unexported fields
}

Transport implements a bifrost transport with a Quic-based packet conn. Transport UUIDs are deterministic and based on the LocalAddr() of the pconn.

func NewTransport

func NewTransport(
	ctx context.Context,
	le *logrus.Entry,
	privKey crypto.PrivKey,
	tc transport.TransportHandler,
	opts *Opts,

	uuid uint64,

	pc net.PacketConn,

	addrParser func(addr string) (net.Addr, error),

	staticPeerMap map[string]*dialer.DialerOpts,
) (*Transport, error)

NewTransport constructs a new packet-conn based transport.

func (*Transport) Close

func (t *Transport) Close() error

Close closes the transport, returning any errors closing.

func (*Transport) Execute

func (t *Transport) Execute(ctx context.Context) error

Execute executes the transport as configured, returning any fatal error.

func (*Transport) GetPeerDialer added in v0.21.0

func (t *Transport) GetPeerDialer(ctx context.Context, peerID peer.ID) (*dialer.DialerOpts, error)

GetPeerDialer returns the dialing information for a peer. Called when resolving EstablishLink. Return nil, nil to indicate not found or unavailable.

func (*Transport) GetPeerID

func (t *Transport) GetPeerID() peer.ID

GetPeerID returns the peer ID.

Jump to

Keyboard shortcuts

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