Files
cunicu/pkg/pb/candidate.proto
Steffen Vogel c73c8b4262 pb: harmonization of protobuf package name
Signed-off-by: Steffen Vogel <post@steffenvogel.de>
2022-05-04 14:05:51 +02:00

69 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
package wice;
option go_package = "riasc.eu/wice/pkg/pb";
// 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
message RelatedAddress {
string address = 1;
int32 port = 2;
}
// 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
message Candidate {
// ICE Candidate types
// See: https://datatracker.ietf.org/doc/html/rfc8445#section-5.1.1
enum Type {
TYPE_UNSPECIFIED = 0;
TYPE_HOST = 1;
TYPE_SERVER_REFLEXIVE = 2;
TYPE_PEER_REFLEXIVE = 3;
TYPE_RELAY = 4;
}
enum NetworkType {
NETWORK_TYPE_UNSPECIFIED = 0;
NETWORK_TYPE_UDP4 = 1;
NETWORK_TYPE_UDP6 = 2;
NETWORK_TYPE_TCP4 = 3;
NETWORK_TYPE_TCP6 = 4;
}
// Type of TCP candidate
// See: https://datatracker.ietf.org/doc/html/rfc6544
enum TCPType {
TCP_TYPE_UNSPECIFIED = 0;
TCP_TYPE_ACTIVE = 1;
TCP_TYPE_PASSIVE = 2;
TCP_TYPE_SIMULTANEOUS_OPEN = 3;
}
// The type of candidate
Type type = 1;
NetworkType network_type = 2;
TCPType tcp_type = 3;
// 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.
string foundation = 4;
// A positive integer between 1 and 256 that identifies the specific component of the media stream for which this is a candidate.
int32 component = 5;
// A positive integer between 1 and (2**31 - 1).
int32 priority = 6;
// The IP address of the candidate.
string address = 7;
// The port of the candidate.
int32 port = 8;
// The related address conveys transport addresses related to the candidate, useful for diagnostics and other purposes.
RelatedAddress related_address = 9;
}