moonbit-community/rtc/sctp does not have a README file
pub struct Association {
config : AssociationConfig
provider : Provider
outputs : Queue[Bytes]
events : Queue[AssociationEvent]
started : Bool
state : AssociationState
local_tag : UInt
local_initial_tsn : UInt
peer_tag : UInt?
peer_initial_tsn : UInt?
next_tsn : UInt
cumulative_tsn : UInt?
cookie : Bytes?
init_ack_packet : Bytes?
peer_supports_reconfig : Bool
peer_supports_forward_tsn : Bool
last_control_packet : Bytes?
control_deadline : Instant?
control_rto_milliseconds : Int64
control_retransmissions : Int
outstanding : Map[UInt, OutstandingData]
abandoned : Map[UInt, DataChunk]
peer_cumulative_tsn_ack : UInt
forward_tsn_transaction : ForwardTsnTransaction?
received : Map[UInt, DataChunk]
duplicates : Array[UInt]
send_sequences : Map[StreamId, UInt16]
receive_sequences : Map[StreamId, UInt16]
reassemblies : Map[UInt64, Reassembly]
completed_messages : Map[UInt64, Message]
buffered_by_stream : Map[StreamId, UInt64]
buffered_amount_low_thresholds : Map[StreamId, UInt64]
buffered_amount : UInt64
next_reset_request : UInt
expected_peer_reset_request : UInt?
reset_transactions : Map[UInt, ResetTransaction]
pending_resets : Map[UInt, PendingReset]
reset_responses : Map[UInt, Bytes]
}fn Association::handle_datagram(self : Association, now : Instant, datagram : Bytes) -> Unit raise SctpErrorfn Association::reset_stream(self : Association, stream : StreamId, now : Instant) -> Unit raise SctpErrorfn Association::send(self : Association, message : Message, reliability? : Reliability, now~ : Instant) -> Unit raise SctpErrorfn Association::set_buffered_amount_low_threshold(self : Association, stream : StreamId, threshold : UInt64) -> Unitpub struct AssociationConfig {
role : AssociationRole
local_port : UInt16
remote_port : UInt16
max_message_size : UInt64
max_payload_size : Int
send_buffer_size : UInt64
receive_buffer_size : UInt
initial_tag : UInt?
initial_tsn : UInt?
initial_rto : Duration
}fn AssociationConfig::new(role~ : AssociationRole, local_port? : UInt16, remote_port? : UInt16, max_message_size? : UInt64, max_payload_size? : Int, send_buffer_size? : UInt64, receive_buffer_size? : UInt, initial_tag? : UInt, initial_tsn? : UInt, initial_rto? : Duration) -> AssociationConfig raise SctpErrorpub(all) enum Chunk {
InitChunkValue(InitChunk)
DataChunkValue(DataChunk)
SackChunkValue(SackChunk)
HeartbeatChunk(Bytes)
HeartbeatAckChunk(Bytes)
AbortChunk(Bytes)
ShutdownChunk(UInt)
ShutdownAckChunk
ErrorChunk(Bytes)
CookieEchoChunk(Bytes)
CookieAckChunk
ShutdownCompleteChunk
ReconfigChunk(Array[ReconfigParameter])
ForwardTsnChunk(ForwardTsn)
UnknownChunk(Byte, Byte, Bytes)
} derive(Eq, Debug)pub struct ForwardTsn {
new_cumulative_tsn : UInt
streams : Array[ForwardTsnStream]
} derive(Eq, Debug)pub struct SackChunk {
cumulative_tsn_ack : UInt
advertised_receiver_window : UInt
gap_ack_blocks : Array[GapAckBlock]
duplicate_tsns : Array[UInt]
} derive(Eq, Debug)Install
Download zipExperimental Sans-I/O WebRTC stack for MoonBit
Dependencies