55 lines
1.6 KiB
Go
55 lines
1.6 KiB
Go
|
package webrtc
|
||
|
|
||
|
// SCTPTransportState indicates the state of the SCTP transport.
|
||
|
type SCTPTransportState int
|
||
|
|
||
|
const (
|
||
|
// SCTPTransportStateConnecting indicates the SCTPTransport is in the
|
||
|
// process of negotiating an association. This is the initial state of the
|
||
|
// SCTPTransportState when an SCTPTransport is created.
|
||
|
SCTPTransportStateConnecting SCTPTransportState = iota + 1
|
||
|
|
||
|
// SCTPTransportStateConnected indicates the negotiation of an
|
||
|
// association is completed.
|
||
|
SCTPTransportStateConnected
|
||
|
|
||
|
// SCTPTransportStateClosed indicates a SHUTDOWN or ABORT chunk is
|
||
|
// received or when the SCTP association has been closed intentionally,
|
||
|
// such as by closing the peer connection or applying a remote description
|
||
|
// that rejects data or changes the SCTP port.
|
||
|
SCTPTransportStateClosed
|
||
|
)
|
||
|
|
||
|
// This is done this way because of a linter.
|
||
|
const (
|
||
|
sctpTransportStateConnectingStr = "connecting"
|
||
|
sctpTransportStateConnectedStr = "connected"
|
||
|
sctpTransportStateClosedStr = "closed"
|
||
|
)
|
||
|
|
||
|
func newSCTPTransportState(raw string) SCTPTransportState {
|
||
|
switch raw {
|
||
|
case sctpTransportStateConnectingStr:
|
||
|
return SCTPTransportStateConnecting
|
||
|
case sctpTransportStateConnectedStr:
|
||
|
return SCTPTransportStateConnected
|
||
|
case sctpTransportStateClosedStr:
|
||
|
return SCTPTransportStateClosed
|
||
|
default:
|
||
|
return SCTPTransportState(Unknown)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (s SCTPTransportState) String() string {
|
||
|
switch s {
|
||
|
case SCTPTransportStateConnecting:
|
||
|
return sctpTransportStateConnectingStr
|
||
|
case SCTPTransportStateConnected:
|
||
|
return sctpTransportStateConnectedStr
|
||
|
case SCTPTransportStateClosed:
|
||
|
return sctpTransportStateClosedStr
|
||
|
default:
|
||
|
return ErrUnknownType.Error()
|
||
|
}
|
||
|
}
|