summaryrefslogtreecommitdiff
path: root/vendor/github.com/pion/webrtc/v3/peerconnectionstate.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/pion/webrtc/v3/peerconnectionstate.go')
-rw-r--r--vendor/github.com/pion/webrtc/v3/peerconnectionstate.go94
1 files changed, 94 insertions, 0 deletions
diff --git a/vendor/github.com/pion/webrtc/v3/peerconnectionstate.go b/vendor/github.com/pion/webrtc/v3/peerconnectionstate.go
new file mode 100644
index 0000000..66ac20e
--- /dev/null
+++ b/vendor/github.com/pion/webrtc/v3/peerconnectionstate.go
@@ -0,0 +1,94 @@
+package webrtc
+
+// PeerConnectionState indicates the state of the PeerConnection.
+type PeerConnectionState int
+
+const (
+ // PeerConnectionStateNew indicates that any of the ICETransports or
+ // DTLSTransports are in the "new" state and none of the transports are
+ // in the "connecting", "checking", "failed" or "disconnected" state, or
+ // all transports are in the "closed" state, or there are no transports.
+ PeerConnectionStateNew PeerConnectionState = iota + 1
+
+ // PeerConnectionStateConnecting indicates that any of the
+ // ICETransports or DTLSTransports are in the "connecting" or
+ // "checking" state and none of them is in the "failed" state.
+ PeerConnectionStateConnecting
+
+ // PeerConnectionStateConnected indicates that all ICETransports and
+ // DTLSTransports are in the "connected", "completed" or "closed" state
+ // and at least one of them is in the "connected" or "completed" state.
+ PeerConnectionStateConnected
+
+ // PeerConnectionStateDisconnected indicates that any of the
+ // ICETransports or DTLSTransports are in the "disconnected" state
+ // and none of them are in the "failed" or "connecting" or "checking" state.
+ PeerConnectionStateDisconnected
+
+ // PeerConnectionStateFailed indicates that any of the ICETransports
+ // or DTLSTransports are in a "failed" state.
+ PeerConnectionStateFailed
+
+ // PeerConnectionStateClosed indicates the peer connection is closed
+ // and the isClosed member variable of PeerConnection is true.
+ PeerConnectionStateClosed
+)
+
+// This is done this way because of a linter.
+const (
+ peerConnectionStateNewStr = "new"
+ peerConnectionStateConnectingStr = "connecting"
+ peerConnectionStateConnectedStr = "connected"
+ peerConnectionStateDisconnectedStr = "disconnected"
+ peerConnectionStateFailedStr = "failed"
+ peerConnectionStateClosedStr = "closed"
+)
+
+func newPeerConnectionState(raw string) PeerConnectionState {
+ switch raw {
+ case peerConnectionStateNewStr:
+ return PeerConnectionStateNew
+ case peerConnectionStateConnectingStr:
+ return PeerConnectionStateConnecting
+ case peerConnectionStateConnectedStr:
+ return PeerConnectionStateConnected
+ case peerConnectionStateDisconnectedStr:
+ return PeerConnectionStateDisconnected
+ case peerConnectionStateFailedStr:
+ return PeerConnectionStateFailed
+ case peerConnectionStateClosedStr:
+ return PeerConnectionStateClosed
+ default:
+ return PeerConnectionState(Unknown)
+ }
+}
+
+func (t PeerConnectionState) String() string {
+ switch t {
+ case PeerConnectionStateNew:
+ return peerConnectionStateNewStr
+ case PeerConnectionStateConnecting:
+ return peerConnectionStateConnectingStr
+ case PeerConnectionStateConnected:
+ return peerConnectionStateConnectedStr
+ case PeerConnectionStateDisconnected:
+ return peerConnectionStateDisconnectedStr
+ case PeerConnectionStateFailed:
+ return peerConnectionStateFailedStr
+ case PeerConnectionStateClosed:
+ return peerConnectionStateClosedStr
+ default:
+ return ErrUnknownType.Error()
+ }
+}
+
+type negotiationNeededState int
+
+const (
+ // NegotiationNeededStateEmpty not running and queue is empty
+ negotiationNeededStateEmpty = iota
+ // NegotiationNeededStateEmpty running and queue is empty
+ negotiationNeededStateRun
+ // NegotiationNeededStateEmpty running and queue
+ negotiationNeededStateQueue
+)