54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
|
package webrtc
|
||
|
|
||
|
// ICEGatheringState describes the state of the candidate gathering process.
|
||
|
type ICEGatheringState int
|
||
|
|
||
|
const (
|
||
|
// ICEGatheringStateNew indicates that any of the ICETransports are
|
||
|
// in the "new" gathering state and none of the transports are in the
|
||
|
// "gathering" state, or there are no transports.
|
||
|
ICEGatheringStateNew ICEGatheringState = iota + 1
|
||
|
|
||
|
// ICEGatheringStateGathering indicates that any of the ICETransports
|
||
|
// are in the "gathering" state.
|
||
|
ICEGatheringStateGathering
|
||
|
|
||
|
// ICEGatheringStateComplete indicates that at least one ICETransport
|
||
|
// exists, and all ICETransports are in the "completed" gathering state.
|
||
|
ICEGatheringStateComplete
|
||
|
)
|
||
|
|
||
|
// This is done this way because of a linter.
|
||
|
const (
|
||
|
iceGatheringStateNewStr = "new"
|
||
|
iceGatheringStateGatheringStr = "gathering"
|
||
|
iceGatheringStateCompleteStr = "complete"
|
||
|
)
|
||
|
|
||
|
// NewICEGatheringState takes a string and converts it to ICEGatheringState
|
||
|
func NewICEGatheringState(raw string) ICEGatheringState {
|
||
|
switch raw {
|
||
|
case iceGatheringStateNewStr:
|
||
|
return ICEGatheringStateNew
|
||
|
case iceGatheringStateGatheringStr:
|
||
|
return ICEGatheringStateGathering
|
||
|
case iceGatheringStateCompleteStr:
|
||
|
return ICEGatheringStateComplete
|
||
|
default:
|
||
|
return ICEGatheringState(Unknown)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (t ICEGatheringState) String() string {
|
||
|
switch t {
|
||
|
case ICEGatheringStateNew:
|
||
|
return iceGatheringStateNewStr
|
||
|
case ICEGatheringStateGathering:
|
||
|
return iceGatheringStateGatheringStr
|
||
|
case ICEGatheringStateComplete:
|
||
|
return iceGatheringStateCompleteStr
|
||
|
default:
|
||
|
return ErrUnknownType.Error()
|
||
|
}
|
||
|
}
|