epdisc

package
v0.5.61 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ConnectionState_name = map[int32]string{
		0: "NEW",
		1: "CHECKING",
		2: "CONNECTED",
		3: "COMPLETED",
		4: "FAILED",
		5: "DISCONNECTED",
		6: "CLOSED",
	}
	ConnectionState_value = map[string]int32{
		"NEW":          0,
		"CHECKING":     1,
		"CONNECTED":    2,
		"COMPLETED":    3,
		"FAILED":       4,
		"DISCONNECTED": 5,
		"CLOSED":       6,
	}
)

Enum value maps for ConnectionState.

View Source
var (
	NATType_name = map[int32]string{
		0: "NONE",
		1: "NFTABLES",
	}
	NATType_value = map[string]int32{
		"NONE":     0,
		"NFTABLES": 1,
	}
)

Enum value maps for NATType.

View Source
var (
	ProxyType_name = map[int32]string{
		0: "NO_PROXY",
		1: "USER_BIND",
		2: "KERNEL_CONN",
		3: "KERNEL_NAT",
	}
	ProxyType_value = map[string]int32{
		"NO_PROXY":    0,
		"USER_BIND":   1,
		"KERNEL_CONN": 2,
		"KERNEL_NAT":  3,
	}
)

Enum value maps for ProxyType.

View Source
var (
	CandidatePairState_name = map[int32]string{
		0: "UNSPECIFIED_CANDIDATE_PAIR_STATE",
		1: "WAITING",
		2: "INPROGRESS",
		3: "FAILED_",
		4: "SUCCEEDED",
	}
	CandidatePairState_value = map[string]int32{
		"UNSPECIFIED_CANDIDATE_PAIR_STATE": 0,
		"WAITING":                          1,
		"INPROGRESS":                       2,
		"FAILED_":                          3,
		"SUCCEEDED":                        4,
	}
)

Enum value maps for CandidatePairState.

View Source
var (
	CandidateType_name = map[int32]string{
		0: "UNSPECIFIED_CANDIDATE_TYPE",
		1: "HOST",
		2: "SERVER_REFLEXIVE",
		3: "PEER_REFLEXIVE",
		4: "RELAY",
	}
	CandidateType_value = map[string]int32{
		"UNSPECIFIED_CANDIDATE_TYPE": 0,
		"HOST":                       1,
		"SERVER_REFLEXIVE":           2,
		"PEER_REFLEXIVE":             3,
		"RELAY":                      4,
	}
)

Enum value maps for CandidateType.

View Source
var (
	NetworkType_name = map[int32]string{
		0: "UNSPECIFIED_NETWORK_TYPE",
		1: "UDP4",
		2: "UDP6",
		3: "TCP4",
		4: "TCP6",
	}
	NetworkType_value = map[string]int32{
		"UNSPECIFIED_NETWORK_TYPE": 0,
		"UDP4":                     1,
		"UDP6":                     2,
		"TCP4":                     3,
		"TCP6":                     4,
	}
)

Enum value maps for NetworkType.

View Source
var (
	TCPType_name = map[int32]string{
		0: "UNSPECIFIED_TCP_TYPE",
		1: "ACTIVE",
		2: "PASSIVE",
		3: "SIMULTANEOUS_OPEN",
	}
	TCPType_value = map[string]int32{
		"UNSPECIFIED_TCP_TYPE": 0,
		"ACTIVE":               1,
		"PASSIVE":              2,
		"SIMULTANEOUS_OPEN":    3,
	}
)

Enum value maps for TCPType.

View Source
var (
	RelayProtocol_name = map[int32]string{
		0: "UNSPECIFIED_RELAY_PROTOCOL",
		1: "UDP",
		2: "TCP",
		3: "TLS",
		4: "DTLS",
	}
	RelayProtocol_value = map[string]int32{
		"UNSPECIFIED_RELAY_PROTOCOL": 0,
		"UDP":                        1,
		"TCP":                        2,
		"TLS":                        3,
		"DTLS":                       4,
	}
)

Enum value maps for RelayProtocol.

View Source
var File_feature_epdisc_candidate_proto protoreflect.FileDescriptor
View Source
var File_feature_epdisc_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Candidate

type Candidate struct {

	// The type of candidate
	Type        CandidateType `protobuf:"varint,1,opt,name=type,proto3,enum=cunicu.epdisc.CandidateType" json:"type,omitempty"`
	NetworkType NetworkType   `` /* 126-byte string literal not displayed */
	TcpType     TCPType       `protobuf:"varint,3,opt,name=tcp_type,json=tcpType,proto3,enum=cunicu.epdisc.TCPType" json:"tcp_type,omitempty"`
	// An identifier that is equivalent for two candidates that are of the same type, share the same base, and come from the same STUN server.
	Foundation string `protobuf:"bytes,4,opt,name=foundation,proto3" json:"foundation,omitempty"`
	// A positive integer between 1 and 256 that identifies the specific component of the media stream for which this is a candidate.
	Component int32 `protobuf:"varint,5,opt,name=component,proto3" json:"component,omitempty"`
	// A positive integer between 1 and (2**31 - 1).
	Priority int32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"`
	// The IP address of the candidate.
	Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"`
	// The port of the candidate.
	Port int32 `protobuf:"varint,8,opt,name=port,proto3" json:"port,omitempty"`
	// The related address conveys transport addresses related to the candidate, useful for diagnostics and other purposes.
	RelatedAddress *RelatedAddress `protobuf:"bytes,9,opt,name=related_address,json=relatedAddress,proto3" json:"related_address,omitempty"`
	// The protocol used between the endpoint and the relay server.
	RelayProtocol RelayProtocol `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

An ICE Candidate contains a transport address for a candidate that can be used for connectivity checks. See: https://datatracker.ietf.org/doc/html/rfc8839#section-5.1

func NewCandidate

func NewCandidate(ic ice.Candidate) *Candidate

func (*Candidate) Descriptor deprecated

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

Deprecated: Use Candidate.ProtoReflect.Descriptor instead.

func (*Candidate) GetAddress

func (x *Candidate) GetAddress() string

func (*Candidate) GetComponent

func (x *Candidate) GetComponent() int32

func (*Candidate) GetFoundation

func (x *Candidate) GetFoundation() string

func (*Candidate) GetNetworkType

func (x *Candidate) GetNetworkType() NetworkType

func (*Candidate) GetPort

func (x *Candidate) GetPort() int32

func (*Candidate) GetPriority

func (x *Candidate) GetPriority() int32

func (*Candidate) GetRelatedAddress

func (x *Candidate) GetRelatedAddress() *RelatedAddress

func (*Candidate) GetRelayProtocol

func (x *Candidate) GetRelayProtocol() RelayProtocol

func (*Candidate) GetTcpType

func (x *Candidate) GetTcpType() TCPType

func (*Candidate) GetType

func (x *Candidate) GetType() CandidateType

func (*Candidate) ICECandidate

func (c *Candidate) ICECandidate() (ice.Candidate, error)

func (*Candidate) ProtoMessage

func (*Candidate) ProtoMessage()

func (*Candidate) ProtoReflect

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

func (*Candidate) Reset

func (x *Candidate) Reset()

func (*Candidate) String

func (x *Candidate) String() string

func (*Candidate) ToString

func (c *Candidate) ToString() string

type CandidatePair

type CandidatePair struct {
	Local  *Candidate `protobuf:"bytes,1,opt,name=local,proto3" json:"local,omitempty"`
	Remote *Candidate `protobuf:"bytes,2,opt,name=remote,proto3" json:"remote,omitempty"`
	// contains filtered or unexported fields
}

func (*CandidatePair) Descriptor deprecated

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

Deprecated: Use CandidatePair.ProtoReflect.Descriptor instead.

func (*CandidatePair) GetLocal

func (x *CandidatePair) GetLocal() *Candidate

func (*CandidatePair) GetRemote

func (x *CandidatePair) GetRemote() *Candidate

func (*CandidatePair) ProtoMessage

func (*CandidatePair) ProtoMessage()

func (*CandidatePair) ProtoReflect

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

func (*CandidatePair) Reset

func (x *CandidatePair) Reset()

func (*CandidatePair) String

func (x *CandidatePair) String() string

func (*CandidatePair) ToString

func (cp *CandidatePair) ToString() string

type CandidatePairState

type CandidatePairState int32
const (
	CandidatePairState_UNSPECIFIED_CANDIDATE_PAIR_STATE CandidatePairState = 0
	// CandidatePairStateWaiting means a check has not been performed for
	// this pair
	CandidatePairState_WAITING CandidatePairState = 1
	// CandidatePairStateInProgress means a check has been sent for this pair,
	// but the transaction is in progress.
	CandidatePairState_INPROGRESS CandidatePairState = 2
	// CandidatePairStateFailed means a check for this pair was already done
	// and failed, either never producing any response or producing an unrecoverable
	// failure response.
	CandidatePairState_FAILED_ CandidatePairState = 3
	// CandidatePairStateSucceeded means a check for this pair was already
	// done and produced a successful result.
	CandidatePairState_SUCCEEDED CandidatePairState = 4
)

func (CandidatePairState) Descriptor

func (CandidatePairState) Enum

func (CandidatePairState) EnumDescriptor deprecated

func (CandidatePairState) EnumDescriptor() ([]byte, []int)

Deprecated: Use CandidatePairState.Descriptor instead.

func (CandidatePairState) Number

func (CandidatePairState) String

func (x CandidatePairState) String() string

func (CandidatePairState) Type

type CandidatePairStats

type CandidatePairStats struct {

	// Timestamp is the timestamp associated with this object.
	Timestamp *proto.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// LocalCandidateID is the ID of the local candidate
	LocalCandidateId string `protobuf:"bytes,2,opt,name=local_candidate_id,json=localCandidateId,proto3" json:"local_candidate_id,omitempty"`
	// RemoteCandidateID is the ID of the remote candidate
	RemoteCandidateId string `protobuf:"bytes,3,opt,name=remote_candidate_id,json=remoteCandidateId,proto3" json:"remote_candidate_id,omitempty"`
	// State represents the state of the checklist for the local and remote
	// candidates in a pair.
	State CandidatePairState `protobuf:"varint,4,opt,name=state,proto3,enum=cunicu.epdisc.CandidatePairState" json:"state,omitempty"`
	// Nominated is true when this valid pair that should be used for media
	// if it is the highest-priority one amongst those whose nominated flag is set
	Nominated bool `protobuf:"varint,5,opt,name=nominated,proto3" json:"nominated,omitempty"`
	// PacketsSent represents the total number of packets sent on this candidate pair.
	PacketsSent uint32 `protobuf:"varint,6,opt,name=packets_sent,json=packetsSent,proto3" json:"packets_sent,omitempty"`
	// PacketsReceived represents the total number of packets received on this candidate pair.
	PacketsReceived uint32 `protobuf:"varint,7,opt,name=packets_received,json=packetsReceived,proto3" json:"packets_received,omitempty"`
	// BytesSent represents the total number of payload bytes sent on this candidate pair
	// not including headers or padding.
	BytesSent uint64 `protobuf:"varint,8,opt,name=bytes_sent,json=bytesSent,proto3" json:"bytes_sent,omitempty"`
	// BytesReceived represents the total number of payload bytes received on this candidate pair
	// not including headers or padding.
	BytesReceived uint64 `protobuf:"varint,9,opt,name=bytes_received,json=bytesReceived,proto3" json:"bytes_received,omitempty"`
	// LastPacketSentTimestamp represents the timestamp at which the last packet was
	// sent on this particular candidate pair, excluding STUN packets.
	LastPacketSentTimestamp *proto.Timestamp `` /* 135-byte string literal not displayed */
	// LastPacketReceivedTimestamp represents the timestamp at which the last packet
	// was received on this particular candidate pair, excluding STUN packets.
	LastPacketReceivedTimestamp *proto.Timestamp `` /* 147-byte string literal not displayed */
	// FirstRequestTimestamp represents the timestamp at which the first STUN request
	// was sent on this particular candidate pair.
	FirstRequestTimestamp *proto.Timestamp `` /* 127-byte string literal not displayed */
	// LastRequestTimestamp represents the timestamp at which the last STUN request
	// was sent on this particular candidate pair. The average interval between two
	// consecutive connectivity checks sent can be calculated with
	// (LastRequestTimestamp - FirstRequestTimestamp) / RequestsSent.
	LastRequestTimestamp *proto.Timestamp `protobuf:"bytes,13,opt,name=last_request_timestamp,json=lastRequestTimestamp,proto3" json:"last_request_timestamp,omitempty"`
	// LastResponseTimestamp represents the timestamp at which the last STUN response
	// was received on this particular candidate pair.
	LastResponseTimestamp *proto.Timestamp `` /* 127-byte string literal not displayed */
	// TotalRoundTripTime represents the sum of all round trip time measurements
	// in seconds since the beginning of the session, based on STUN connectivity
	// check responses (ResponsesReceived), including those that reply to requests
	// that are sent in order to verify consent. The average round trip time can
	// be computed from TotalRoundTripTime by dividing it by ResponsesReceived.
	TotalRoundtripTime float64 `protobuf:"fixed64,15,opt,name=total_roundtrip_time,json=totalRoundtripTime,proto3" json:"total_roundtrip_time,omitempty"`
	// CurrentRoundTripTime represents the latest round trip time measured in seconds,
	// computed from both STUN connectivity checks, including those that are sent
	// for consent verification.
	CurrentRoundtripTime float64 `` /* 126-byte string literal not displayed */
	// AvailableOutgoingBitrate is calculated by the underlying congestion control
	// by combining the available bitrate for all the outgoing RTP streams using
	// this candidate pair. The bitrate measurement does not count the size of the
	// IP or other transport layers like TCP or UDP. It is similar to the TIAS defined
	// in RFC 3890, i.e., it is measured in bits per second and the bitrate is calculated
	// over a 1 second window.
	AvailableOutgoingBitrate float64 `` /* 138-byte string literal not displayed */
	// AvailableIncomingBitrate is calculated by the underlying congestion control
	// by combining the available bitrate for all the incoming RTP streams using
	// this candidate pair. The bitrate measurement does not count the size of the
	// IP or other transport layers like TCP or UDP. It is similar to the TIAS defined
	// in  RFC 3890, i.e., it is measured in bits per second and the bitrate is
	// calculated over a 1 second window.
	AvailableIncomingBitrate float64 `` /* 138-byte string literal not displayed */
	// CircuitBreakerTriggerCount represents the number of times the circuit breaker
	// is triggered for this particular 5-tuple, ceasing transmission.
	CircuitBreakerTriggerCount uint32 `` /* 145-byte string literal not displayed */
	// RequestsReceived represents the total number of connectivity check requests
	// received (including retransmissions). It is impossible for the receiver to
	// tell whether the request was sent in order to check connectivity or check
	// consent, so all connectivity checks requests are counted here.
	RequestsReceived uint64 `protobuf:"varint,20,opt,name=requests_received,json=requestsReceived,proto3" json:"requests_received,omitempty"`
	// RequestsSent represents the total number of connectivity check requests
	// sent (not including retransmissions).
	RequestsSent uint64 `protobuf:"varint,21,opt,name=requests_sent,json=requestsSent,proto3" json:"requests_sent,omitempty"`
	// ResponsesReceived represents the total number of connectivity check responses received.
	ResponsesReceived uint64 `protobuf:"varint,22,opt,name=responses_received,json=responsesReceived,proto3" json:"responses_received,omitempty"`
	// ResponsesSent epresents the total number of connectivity check responses sent.
	// Since we cannot distinguish connectivity check requests and consent requests,
	// all responses are counted.
	ResponsesSent uint64 `protobuf:"varint,23,opt,name=responses_sent,json=responsesSent,proto3" json:"responses_sent,omitempty"`
	// RetransmissionsReceived represents the total number of connectivity check
	// request retransmissions received.
	RetransmissionsReceived uint64 `` /* 132-byte string literal not displayed */
	// RetransmissionsSent represents the total number of connectivity check
	// request retransmissions sent.
	RetransmissionsSent uint64 `protobuf:"varint,25,opt,name=retransmissions_sent,json=retransmissionsSent,proto3" json:"retransmissions_sent,omitempty"`
	// ConsentRequestsSent represents the total number of consent requests sent.
	ConsentRequestsSent uint64 `protobuf:"varint,26,opt,name=consent_requests_sent,json=consentRequestsSent,proto3" json:"consent_requests_sent,omitempty"`
	// ConsentExpiredTimestamp represents the timestamp at which the latest valid
	// STUN binding response expired.
	ConsentExpiredTimestamp *proto.Timestamp `` /* 133-byte string literal not displayed */
	// contains filtered or unexported fields
}

CandidatePairStats contains ICE candidate pair statistics

func NewCandidatePairStats

func NewCandidatePairStats(cps *ice.CandidatePairStats) *CandidatePairStats

func (*CandidatePairStats) Descriptor deprecated

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

Deprecated: Use CandidatePairStats.ProtoReflect.Descriptor instead.

func (*CandidatePairStats) GetAvailableIncomingBitrate

func (x *CandidatePairStats) GetAvailableIncomingBitrate() float64

func (*CandidatePairStats) GetAvailableOutgoingBitrate

func (x *CandidatePairStats) GetAvailableOutgoingBitrate() float64

func (*CandidatePairStats) GetBytesReceived

func (x *CandidatePairStats) GetBytesReceived() uint64

func (*CandidatePairStats) GetBytesSent

func (x *CandidatePairStats) GetBytesSent() uint64

func (*CandidatePairStats) GetCircuitBreakerTriggerCount

func (x *CandidatePairStats) GetCircuitBreakerTriggerCount() uint32

func (*CandidatePairStats) GetConsentExpiredTimestamp

func (x *CandidatePairStats) GetConsentExpiredTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetConsentRequestsSent

func (x *CandidatePairStats) GetConsentRequestsSent() uint64

func (*CandidatePairStats) GetCurrentRoundtripTime

func (x *CandidatePairStats) GetCurrentRoundtripTime() float64

func (*CandidatePairStats) GetFirstRequestTimestamp

func (x *CandidatePairStats) GetFirstRequestTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetLastPacketReceivedTimestamp

func (x *CandidatePairStats) GetLastPacketReceivedTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetLastPacketSentTimestamp

func (x *CandidatePairStats) GetLastPacketSentTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetLastRequestTimestamp

func (x *CandidatePairStats) GetLastRequestTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetLastResponseTimestamp

func (x *CandidatePairStats) GetLastResponseTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetLocalCandidateId

func (x *CandidatePairStats) GetLocalCandidateId() string

func (*CandidatePairStats) GetNominated

func (x *CandidatePairStats) GetNominated() bool

func (*CandidatePairStats) GetPacketsReceived

func (x *CandidatePairStats) GetPacketsReceived() uint32

func (*CandidatePairStats) GetPacketsSent

func (x *CandidatePairStats) GetPacketsSent() uint32

func (*CandidatePairStats) GetRemoteCandidateId

func (x *CandidatePairStats) GetRemoteCandidateId() string

func (*CandidatePairStats) GetRequestsReceived

func (x *CandidatePairStats) GetRequestsReceived() uint64

func (*CandidatePairStats) GetRequestsSent

func (x *CandidatePairStats) GetRequestsSent() uint64

func (*CandidatePairStats) GetResponsesReceived

func (x *CandidatePairStats) GetResponsesReceived() uint64

func (*CandidatePairStats) GetResponsesSent

func (x *CandidatePairStats) GetResponsesSent() uint64

func (*CandidatePairStats) GetRetransmissionsReceived

func (x *CandidatePairStats) GetRetransmissionsReceived() uint64

func (*CandidatePairStats) GetRetransmissionsSent

func (x *CandidatePairStats) GetRetransmissionsSent() uint64

func (*CandidatePairStats) GetState

func (x *CandidatePairStats) GetState() CandidatePairState

func (*CandidatePairStats) GetTimestamp

func (x *CandidatePairStats) GetTimestamp() *proto.Timestamp

func (*CandidatePairStats) GetTotalRoundtripTime

func (x *CandidatePairStats) GetTotalRoundtripTime() float64

func (*CandidatePairStats) ProtoMessage

func (*CandidatePairStats) ProtoMessage()

func (*CandidatePairStats) ProtoReflect

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

func (*CandidatePairStats) Reset

func (x *CandidatePairStats) Reset()

func (*CandidatePairStats) String

func (x *CandidatePairStats) String() string

type CandidateStats

type CandidateStats struct {

	// Timestamp is the timestamp associated with this object.
	Timestamp *proto.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// ID is the candidate ID
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// NetworkType represents the type of network interface used by the base of a
	// local candidate (the address the ICE agent sends from). Only present for
	// local candidates; it's not possible to know what type of network interface
	// a remote candidate is using.
	//
	// Note:
	// This stat only tells you about the network interface used by the first "hop";
	// it's possible that a connection will be bottlenecked by another type of network.
	// For example, when using Wi-Fi tethering, the networkType of the relevant candidate
	// would be "wifi", even when the next hop is over a cellular connection.
	NetworkType NetworkType `` /* 126-byte string literal not displayed */
	// IP is the IP address of the candidate, allowing for IPv4 addresses and
	// IPv6 addresses, but fully qualified domain names (FQDNs) are not allowed.
	Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"`
	// Port is the port number of the candidate.
	Port int32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"`
	// CandidateType is the "Type" field of the ICECandidate.
	CandidateType CandidateType `` /* 134-byte string literal not displayed */
	// Priority is the "Priority" field of the ICECandidate.
	Priority uint32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"`
	// URL is the URL of the TURN or STUN server indicated in the that translated
	// this IP address. It is the URL address surfaced in an PeerConnectionICEEvent.
	Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"`
	// RelayProtocol is the protocol used by the endpoint to communicate with the
	// TURN server. This is only present for local candidates. Valid values for
	// the TURN URL protocol is one of udp, tcp, or tls.
	RelayProtocol RelayProtocol `` /* 134-byte string literal not displayed */
	// Deleted is true if the candidate has been deleted/freed. For host candidates,
	// this means that any network resources (typically a socket) associated with the
	// candidate have been released. For TURN candidates, this means the TURN allocation
	// is no longer active.
	//
	// Only defined for local candidates. For remote candidates, this property is not applicable.
	Deleted bool `protobuf:"varint,10,opt,name=deleted,proto3" json:"deleted,omitempty"`
	// contains filtered or unexported fields
}

CandidateStats contains ICE candidate statistics related to the ICETransport objects.

func NewCandidateStats

func NewCandidateStats(cs *ice.CandidateStats) *CandidateStats

func (*CandidateStats) Descriptor deprecated

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

Deprecated: Use CandidateStats.ProtoReflect.Descriptor instead.

func (*CandidateStats) Dump

func (cs *CandidateStats) Dump(wr io.Writer) error

func (*CandidateStats) GetCandidateType

func (x *CandidateStats) GetCandidateType() CandidateType

func (*CandidateStats) GetDeleted

func (x *CandidateStats) GetDeleted() bool

func (*CandidateStats) GetId

func (x *CandidateStats) GetId() string

func (*CandidateStats) GetIp

func (x *CandidateStats) GetIp() string

func (*CandidateStats) GetNetworkType

func (x *CandidateStats) GetNetworkType() NetworkType

func (*CandidateStats) GetPort

func (x *CandidateStats) GetPort() int32

func (*CandidateStats) GetPriority

func (x *CandidateStats) GetPriority() uint32

func (*CandidateStats) GetRelayProtocol

func (x *CandidateStats) GetRelayProtocol() RelayProtocol

func (*CandidateStats) GetTimestamp

func (x *CandidateStats) GetTimestamp() *proto.Timestamp

func (*CandidateStats) GetUrl

func (x *CandidateStats) GetUrl() string

func (*CandidateStats) ProtoMessage

func (*CandidateStats) ProtoMessage()

func (*CandidateStats) ProtoReflect

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

func (*CandidateStats) Reset

func (x *CandidateStats) Reset()

func (*CandidateStats) String

func (x *CandidateStats) String() string

func (*CandidateStats) ToString

func (cs *CandidateStats) ToString() string

type CandidateType

type CandidateType int32

ICE Candidate types See: https://datatracker.ietf.org/doc/html/rfc8445#section-5.1.1

const (
	CandidateType_UNSPECIFIED_CANDIDATE_TYPE CandidateType = 0
	CandidateType_HOST                       CandidateType = 1
	CandidateType_SERVER_REFLEXIVE           CandidateType = 2
	CandidateType_PEER_REFLEXIVE             CandidateType = 3
	CandidateType_RELAY                      CandidateType = 4
)

func (CandidateType) Descriptor

func (CandidateType) Enum

func (x CandidateType) Enum() *CandidateType

func (CandidateType) EnumDescriptor deprecated

func (CandidateType) EnumDescriptor() ([]byte, []int)

Deprecated: Use CandidateType.Descriptor instead.

func (CandidateType) Number

func (CandidateType) String

func (x CandidateType) String() string

func (CandidateType) Type

type ConnectionState

type ConnectionState int32

ICE Connection state from pion/ice/ice.go

const (
	ConnectionState_NEW          ConnectionState = 0 // ICE agent is gathering addresses
	ConnectionState_CHECKING     ConnectionState = 1 // ICE agent has been given local and remote candidates, and is attempting to find a match
	ConnectionState_CONNECTED    ConnectionState = 2 // ICE agent has a pairing, but is still checking other pairs
	ConnectionState_COMPLETED    ConnectionState = 3 // ICE agent has finished
	ConnectionState_FAILED       ConnectionState = 4 // ICE agent never could successfully connect
	ConnectionState_DISCONNECTED ConnectionState = 5 // ICE agent connected successfully, but has entered a failed state
	ConnectionState_CLOSED       ConnectionState = 6 // ICE agent has finished and is no longer handling requests
)

func NewConnectionState

func NewConnectionState(cs ice.ConnectionState) ConnectionState

func (ConnectionState) Descriptor

func (ConnectionState) Enum

func (x ConnectionState) Enum() *ConnectionState

func (ConnectionState) EnumDescriptor deprecated

func (ConnectionState) EnumDescriptor() ([]byte, []int)

Deprecated: Use ConnectionState.Descriptor instead.

func (ConnectionState) Number

func (ConnectionState) String

func (x ConnectionState) String() string

func (ConnectionState) Type

type Credentials

type Credentials struct {

	// ICE username fragment
	Ufrag string `protobuf:"bytes,1,opt,name=ufrag,proto3" json:"ufrag,omitempty"`
	// ICE password
	Pwd string `protobuf:"bytes,2,opt,name=pwd,proto3" json:"pwd,omitempty"`
	// Flag to indicate that the sending peer requests the credentials of the receiving peer
	NeedCreds bool `protobuf:"varint,3,opt,name=need_creds,json=needCreds,proto3" json:"need_creds,omitempty"`
	// contains filtered or unexported fields
}

func NewCredentials

func NewCredentials() *Credentials

func (*Credentials) Descriptor deprecated

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

Deprecated: Use Credentials.ProtoReflect.Descriptor instead.

func (*Credentials) GetNeedCreds

func (x *Credentials) GetNeedCreds() bool

func (*Credentials) GetPwd

func (x *Credentials) GetPwd() string

func (*Credentials) GetUfrag

func (x *Credentials) GetUfrag() string

func (*Credentials) ProtoMessage

func (*Credentials) ProtoMessage()

func (*Credentials) ProtoReflect

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

func (*Credentials) Reset

func (x *Credentials) Reset()

func (*Credentials) String

func (x *Credentials) String() string

type Interface

type Interface struct {
	NatType      NATType `protobuf:"varint,1,opt,name=nat_type,json=natType,proto3,enum=cunicu.epdisc.NATType" json:"nat_type,omitempty"`
	MuxPort      uint32  `protobuf:"varint,2,opt,name=mux_port,json=muxPort,proto3" json:"mux_port,omitempty"`
	MuxSrflxPort uint32  `protobuf:"varint,3,opt,name=mux_srflx_port,json=muxSrflxPort,proto3" json:"mux_srflx_port,omitempty"`
	// contains filtered or unexported fields
}

func (*Interface) Descriptor deprecated

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

Deprecated: Use Interface.ProtoReflect.Descriptor instead.

func (*Interface) Dump

func (i *Interface) Dump(wr io.Writer, level log.Level) error

func (*Interface) GetMuxPort

func (x *Interface) GetMuxPort() uint32

func (*Interface) GetMuxSrflxPort

func (x *Interface) GetMuxSrflxPort() uint32

func (*Interface) GetNatType

func (x *Interface) GetNatType() NATType

func (*Interface) ProtoMessage

func (*Interface) ProtoMessage()

func (*Interface) ProtoReflect

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

func (*Interface) Reset

func (x *Interface) Reset()

func (*Interface) String

func (x *Interface) String() string

type NATType

type NATType int32
const (
	NATType_NONE     NATType = 0
	NATType_NFTABLES NATType = 1
)

func (NATType) Descriptor

func (NATType) Descriptor() protoreflect.EnumDescriptor

func (NATType) Enum

func (x NATType) Enum() *NATType

func (NATType) EnumDescriptor deprecated

func (NATType) EnumDescriptor() ([]byte, []int)

Deprecated: Use NATType.Descriptor instead.

func (NATType) Number

func (x NATType) Number() protoreflect.EnumNumber

func (NATType) String

func (x NATType) String() string

func (NATType) Type

func (NATType) Type() protoreflect.EnumType

type NetworkType

type NetworkType int32
const (
	NetworkType_UNSPECIFIED_NETWORK_TYPE NetworkType = 0
	NetworkType_UDP4                     NetworkType = 1
	NetworkType_UDP6                     NetworkType = 2
	NetworkType_TCP4                     NetworkType = 3
	NetworkType_TCP6                     NetworkType = 4
)

func (NetworkType) Descriptor

func (NetworkType) Enum

func (x NetworkType) Enum() *NetworkType

func (NetworkType) EnumDescriptor deprecated

func (NetworkType) EnumDescriptor() ([]byte, []int)

Deprecated: Use NetworkType.Descriptor instead.

func (NetworkType) Number

func (x NetworkType) Number() protoreflect.EnumNumber

func (NetworkType) String

func (x NetworkType) String() string

func (NetworkType) Type

type Peer

type Peer struct {
	ProxyType                ProxyType             `protobuf:"varint,1,opt,name=proxy_type,json=proxyType,proto3,enum=cunicu.epdisc.ProxyType" json:"proxy_type,omitempty"`
	SelectedCandidatePair    *CandidatePair        `` /* 126-byte string literal not displayed */
	LocalCandidateStats      []*CandidateStats     `protobuf:"bytes,6,rep,name=local_candidate_stats,json=localCandidateStats,proto3" json:"local_candidate_stats,omitempty"`
	RemoteCandidateStats     []*CandidateStats     `protobuf:"bytes,7,rep,name=remote_candidate_stats,json=remoteCandidateStats,proto3" json:"remote_candidate_stats,omitempty"`
	CandidatePairStats       []*CandidatePairStats `protobuf:"bytes,8,rep,name=candidate_pair_stats,json=candidatePairStats,proto3" json:"candidate_pair_stats,omitempty"`
	LastStateChangeTimestamp *proto.Timestamp      `` /* 137-byte string literal not displayed */
	Restarts                 uint32                `protobuf:"varint,10,opt,name=restarts,proto3" json:"restarts,omitempty"`
	// contains filtered or unexported fields
}

func (*Peer) Descriptor deprecated

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

Deprecated: Use Peer.ProtoReflect.Descriptor instead.

func (*Peer) Dump

func (p *Peer) Dump(wr io.Writer, level log.Level) error

func (*Peer) GetCandidatePairStats

func (x *Peer) GetCandidatePairStats() []*CandidatePairStats

func (*Peer) GetLastStateChangeTimestamp

func (x *Peer) GetLastStateChangeTimestamp() *proto.Timestamp

func (*Peer) GetLocalCandidateStats

func (x *Peer) GetLocalCandidateStats() []*CandidateStats

func (*Peer) GetProxyType

func (x *Peer) GetProxyType() ProxyType

func (*Peer) GetRemoteCandidateStats

func (x *Peer) GetRemoteCandidateStats() []*CandidateStats

func (*Peer) GetRestarts

func (x *Peer) GetRestarts() uint32

func (*Peer) GetSelectedCandidatePair

func (x *Peer) GetSelectedCandidatePair() *CandidatePair

func (*Peer) ProtoMessage

func (*Peer) ProtoMessage()

func (*Peer) ProtoReflect

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

func (*Peer) Reset

func (x *Peer) Reset()

func (*Peer) String

func (x *Peer) String() string

type ProxyType

type ProxyType int32
const (
	ProxyType_NO_PROXY    ProxyType = 0
	ProxyType_USER_BIND   ProxyType = 1
	ProxyType_KERNEL_CONN ProxyType = 2
	ProxyType_KERNEL_NAT  ProxyType = 3
)

func (ProxyType) Descriptor

func (ProxyType) Descriptor() protoreflect.EnumDescriptor

func (ProxyType) Enum

func (x ProxyType) Enum() *ProxyType

func (ProxyType) EnumDescriptor deprecated

func (ProxyType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ProxyType.Descriptor instead.

func (ProxyType) Number

func (x ProxyType) Number() protoreflect.EnumNumber

func (ProxyType) String

func (x ProxyType) String() string

func (ProxyType) Type

type RelatedAddress

type RelatedAddress struct {
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port    int32  `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

The Related Address conveys transport addresses related to the candidate, useful for diagnostics and other purposes. See: https://datatracker.ietf.org/doc/html/rfc8839#section-5.1

func (*RelatedAddress) Descriptor deprecated

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

Deprecated: Use RelatedAddress.ProtoReflect.Descriptor instead.

func (*RelatedAddress) GetAddress

func (x *RelatedAddress) GetAddress() string

func (*RelatedAddress) GetPort

func (x *RelatedAddress) GetPort() int32

func (*RelatedAddress) ProtoMessage

func (*RelatedAddress) ProtoMessage()

func (*RelatedAddress) ProtoReflect

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

func (*RelatedAddress) Reset

func (x *RelatedAddress) Reset()

func (*RelatedAddress) String

func (x *RelatedAddress) String() string

type RelayProtocol

type RelayProtocol int32
const (
	RelayProtocol_UNSPECIFIED_RELAY_PROTOCOL RelayProtocol = 0
	RelayProtocol_UDP                        RelayProtocol = 1
	RelayProtocol_TCP                        RelayProtocol = 2
	RelayProtocol_TLS                        RelayProtocol = 3
	RelayProtocol_DTLS                       RelayProtocol = 4
)

func NewProtocol

func NewProtocol(rp string) RelayProtocol

func (RelayProtocol) Descriptor

func (RelayProtocol) Enum

func (x RelayProtocol) Enum() *RelayProtocol

func (RelayProtocol) EnumDescriptor deprecated

func (RelayProtocol) EnumDescriptor() ([]byte, []int)

Deprecated: Use RelayProtocol.Descriptor instead.

func (RelayProtocol) Number

func (RelayProtocol) String

func (x RelayProtocol) String() string

func (RelayProtocol) ToString

func (p RelayProtocol) ToString() string

func (RelayProtocol) Type

type TCPType

type TCPType int32

Type of TCP candidate See: https://datatracker.ietf.org/doc/html/rfc6544

const (
	TCPType_UNSPECIFIED_TCP_TYPE TCPType = 0
	TCPType_ACTIVE               TCPType = 1
	TCPType_PASSIVE              TCPType = 2
	TCPType_SIMULTANEOUS_OPEN    TCPType = 3
)

func (TCPType) Descriptor

func (TCPType) Descriptor() protoreflect.EnumDescriptor

func (TCPType) Enum

func (x TCPType) Enum() *TCPType

func (TCPType) EnumDescriptor deprecated

func (TCPType) EnumDescriptor() ([]byte, []int)

Deprecated: Use TCPType.Descriptor instead.

func (TCPType) Number

func (x TCPType) Number() protoreflect.EnumNumber

func (TCPType) String

func (x TCPType) String() string

func (TCPType) Type

func (TCPType) Type() protoreflect.EnumType

Jump to

Keyboard shortcuts

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