Documentation ¶
Index ¶
Constants ¶
const ( PAYLOADDATA chunkType = 0 INIT chunkType = 1 INITACK chunkType = 2 SACK chunkType = 3 HEARTBEAT chunkType = 4 HEARTBEATACK chunkType = 5 ABORT chunkType = 6 SHUTDOWN chunkType = 7 SHUTDOWNACK chunkType = 8 ERROR chunkType = 9 COOKIEECHO chunkType = 10 COOKIEACK chunkType = 11 CWR chunkType = 13 SHUTDOWNCOMPLETE chunkType = 14 )
List of known chunkType enums
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Association ¶
Association represents an SCTP association 13.2. Parameters Necessary per Association (i.e., the TCB) Peer : Tag value to be sent in every packet and is received Verification: in the INIT or INIT ACK chunk. Tag :
My : Tag expected in every inbound packet and sent in the Verification: INIT or INIT ACK chunk.
Tag : State : A state variable indicating what state the association
: is in, i.e., COOKIE-WAIT, COOKIE-ECHOED, ESTABLISHED, : SHUTDOWN-PENDING, SHUTDOWN-SENT, SHUTDOWN-RECEIVED, : SHUTDOWN-ACK-SENT. Note: No "CLOSED" state is illustrated since if a association is "CLOSED" its TCB SHOULD be removed.
func NewAssocation ¶
func NewAssocation(outboundHandler func([]byte), dataHandler func([]byte, uint16, PayloadProtocolIdentifier), notifier func(AssociationState)) *Association
NewAssocation creates a new Association and the state needed to manage it
func (*Association) Close ¶
func (a *Association) Close() error
Close ends the SCTP Association and cleans up any state
func (*Association) HandleInbound ¶
func (a *Association) HandleInbound(raw []byte) error
HandleInbound parses incoming raw packets
func (*Association) HandleOutbound ¶
func (a *Association) HandleOutbound(raw []byte, streamIdentifier uint16, payloadType PayloadProtocolIdentifier) error
HandleOutbound sends outbound raw packets
func (*Association) Start ¶
func (a *Association) Start(isInitiating bool)
Start starts the Association
type AssociationState ¶
type AssociationState uint8
AssociationState is an enum for the states that an Association will transition through while connecting https://tools.ietf.org/html/rfc4960#section-13.2
const ( Open AssociationState = iota + 1 CookieEchoed CookieWait Established ShutdownAckSent ShutdownPending ShutdownReceived ShutdownSent )
AssociationState enums
func (AssociationState) String ¶
func (a AssociationState) String() string
type PayloadProtocolIdentifier ¶
type PayloadProtocolIdentifier uint32
PayloadProtocolIdentifier is an enum for DataChannel payload types
const ( PayloadTypeWebRTCDCEP PayloadProtocolIdentifier = 50 PayloadTypeWebRTCString PayloadProtocolIdentifier = 51 PayloadTypeWebRTCBinary PayloadProtocolIdentifier = 53 PayloadTypeWebRTCStringEmpty PayloadProtocolIdentifier = 56 PayloadTypeWebRTCBinaryEmpty PayloadProtocolIdentifier = 57 )
PayloadProtocolIdentifier enums
func (PayloadProtocolIdentifier) String ¶
func (p PayloadProtocolIdentifier) String() string
Source Files ¶
- association.go
- chunk.go
- chunk_abort.go
- chunk_cookie_ack.go
- chunk_cookie_echo.go
- chunk_heartbeat.go
- chunk_heartbeat_ack.go
- chunk_init.go
- chunk_init_ack.go
- chunk_init_common.go
- chunk_payload_data.go
- chunk_selective_ack.go
- common.go
- error_cause.go
- error_cause_header.go
- error_cause_invalid_mandatory_parameter.go
- error_cause_protocol_violation.go
- error_cause_unrecognized_chunk_type.go
- packet.go
- param.go
- param_chunk_list.go
- param_forward_tsn_supported.go
- param_header.go
- param_heartbeat_info.go
- param_random.go
- param_requested_hmac_algorithm.go
- param_state_cookie.go
- param_supported_extensions.go
- payload_queue.go
- reassembly_queue.go
- sctp.go