Documentation ¶
Index ¶
- Constants
- type Association
- type AssociationState
- type PayloadProtocolIdentifier
- type Stream
- func (s *Stream) Close() error
- func (s *Stream) Read(p []byte) (int, error)
- func (s *Stream) ReadSCTP(p []byte) (int, PayloadProtocolIdentifier, error)
- func (s *Stream) SetDefaultPayloadType(defaultPayloadType PayloadProtocolIdentifier)
- func (s *Stream) StreamIdentifier() uint16
- func (s *Stream) Write(p []byte) (n int, err error)
- func (s *Stream) WriteSCTP(p []byte, ppi PayloadProtocolIdentifier) (n int, err error)
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 ¶
type Association struct {
// contains filtered or unexported fields
}
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 Client ¶ added in v1.2.0
func Client(nextConn net.Conn) (*Association, error)
Client opens a SCTP stream over a conn
func Server ¶ added in v1.2.0
func Server(nextConn net.Conn) (*Association, error)
Server accepts a SCTP stream over a conn
func (*Association) AcceptStream ¶ added in v1.2.0
func (a *Association) AcceptStream() (*Stream, error)
AcceptStream accepts a stream
func (*Association) Close ¶
func (a *Association) Close() error
Close ends the SCTP Association and cleans up any state
func (*Association) OpenStream ¶ added in v1.2.0
func (a *Association) OpenStream(streamIdentifier uint16, defaultPayloadType PayloadProtocolIdentifier) (*Stream, error)
OpenStream opens a stream
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 https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-25
func (PayloadProtocolIdentifier) String ¶
func (p PayloadProtocolIdentifier) String() string
type Stream ¶ added in v1.2.0
type Stream struct {
// contains filtered or unexported fields
}
Stream represents an SCTP stream
func (*Stream) Read ¶ added in v1.2.0
Read reads a packet of len(p) bytes, dropping the Payload Protocol Identifier
func (*Stream) ReadSCTP ¶ added in v1.2.0
func (s *Stream) ReadSCTP(p []byte) (int, PayloadProtocolIdentifier, error)
ReadSCTP reads a packet of len(p) bytes and returns the associated Payload Protocol Identifier
func (*Stream) SetDefaultPayloadType ¶ added in v1.2.0
func (s *Stream) SetDefaultPayloadType(defaultPayloadType PayloadProtocolIdentifier)
SetDefaultPayloadType sets the default payload type used by Write.
func (*Stream) StreamIdentifier ¶ added in v1.2.0
StreamIdentifier returns the Stream identifier associated to the stream.
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
- stream.go