mirror of
https://github.com/pion/webrtc.git
synced 2025-10-15 19:50:42 +08:00
59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package webrtc
|
|
|
|
// RTCPriorityType determines the priority type of a data channel.
|
|
type RTCPriorityType int
|
|
|
|
const (
|
|
// RTCPriorityTypeVeryLow corresponds to "below normal".
|
|
RTCPriorityTypeVeryLow RTCPriorityType = iota + 1
|
|
|
|
// RTCPriorityTypeLow corresponds to "normal".
|
|
RTCPriorityTypeLow
|
|
|
|
// RTCPriorityTypeMedium corresponds to "high".
|
|
RTCPriorityTypeMedium
|
|
|
|
// RTCPriorityTypeHigh corresponds to "extra high".
|
|
RTCPriorityTypeHigh
|
|
)
|
|
|
|
// This is done this way because of a linter.
|
|
const (
|
|
rtcPriorityTypeVeryLowStr = "very-low"
|
|
rtcPriorityTypeLowStr = "low"
|
|
rtcPriorityTypeMediumStr = "medium"
|
|
rtcPriorityTypeHighStr = "high"
|
|
)
|
|
|
|
// NewRTCPriorityType defines a procedure for creating a new RTCPriorityType
|
|
// from a raw string naming the priority type.
|
|
func NewRTCPriorityType(raw string) RTCPriorityType {
|
|
switch raw {
|
|
case rtcPriorityTypeVeryLowStr:
|
|
return RTCPriorityTypeVeryLow
|
|
case rtcPriorityTypeLowStr:
|
|
return RTCPriorityTypeLow
|
|
case rtcPriorityTypeMediumStr:
|
|
return RTCPriorityTypeMedium
|
|
case rtcPriorityTypeHighStr:
|
|
return RTCPriorityTypeHigh
|
|
default:
|
|
return RTCPriorityType(Unknown)
|
|
}
|
|
}
|
|
|
|
func (p RTCPriorityType) String() string {
|
|
switch p {
|
|
case RTCPriorityTypeVeryLow:
|
|
return rtcPriorityTypeVeryLowStr
|
|
case RTCPriorityTypeLow:
|
|
return rtcPriorityTypeLowStr
|
|
case RTCPriorityTypeMedium:
|
|
return rtcPriorityTypeMediumStr
|
|
case RTCPriorityTypeHigh:
|
|
return rtcPriorityTypeHighStr
|
|
default:
|
|
return ErrUnknownType.Error()
|
|
}
|
|
}
|