summaryrefslogtreecommitdiff
path: root/vendor/github.com/pion/ice/v2/role.go
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2021-11-29 01:46:27 +0100
committerkali kaneko (leap communications) <kali@leap.se>2021-11-29 18:14:16 +0100
commit18f52af5be3a9a0c73811706108f790d65ee9c67 (patch)
treee13cbacb47d56919caa9c44a2b45dec1497a7860 /vendor/github.com/pion/ice/v2/role.go
parentebcef0d57b6ecb5a40c6579f6be07182dd3033ba (diff)
[pkg] update vendor
Diffstat (limited to 'vendor/github.com/pion/ice/v2/role.go')
-rw-r--r--vendor/github.com/pion/ice/v2/role.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/vendor/github.com/pion/ice/v2/role.go b/vendor/github.com/pion/ice/v2/role.go
new file mode 100644
index 0000000..7a8bc06
--- /dev/null
+++ b/vendor/github.com/pion/ice/v2/role.go
@@ -0,0 +1,43 @@
+package ice
+
+import (
+ "fmt"
+)
+
+// Role represents ICE agent role, which can be controlling or controlled.
+type Role byte
+
+// Possible ICE agent roles.
+const (
+ Controlling Role = iota
+ Controlled
+)
+
+// UnmarshalText implements TextUnmarshaler.
+func (r *Role) UnmarshalText(text []byte) error {
+ switch string(text) {
+ case "controlling":
+ *r = Controlling
+ case "controlled":
+ *r = Controlled
+ default:
+ return fmt.Errorf("%w %q", errUnknownRole, text)
+ }
+ return nil
+}
+
+// MarshalText implements TextMarshaler.
+func (r Role) MarshalText() (text []byte, err error) {
+ return []byte(r.String()), nil
+}
+
+func (r Role) String() string {
+ switch r {
+ case Controlling:
+ return "controlling"
+ case Controlled:
+ return "controlled"
+ default:
+ return "unknown"
+ }
+}