moonbit-community/rtc/turn does not have a README file
pub struct Allocation {
local_address : SocketAddress
server : SocketAddress
transport : TurnTransport
credentials : TurnCredentials
outputs : Queue[OutboundDatagram]
stream_outputs : Queue[Bytes]
events : Queue[AllocationEvent]
transactions : Map[TransactionId, PendingTurnTransaction]
permissions : Array[Permission]
channels : Array[ChannelBinding]
state : AllocationState
realm : String?
nonce : String?
key : Bytes?
relayed_address : RelayedAddress?
expires_at : Instant?
refresh_at : Instant?
stream_input : Bytes
}fn Allocation::bind_channel(self : Allocation, peer : SocketAddress, channel : UInt16, now : Instant) -> Unit raise TurnErrorfn Allocation::create_permission(self : Allocation, peer : SocketAddress, now : Instant) -> Unit raise TurnErrorfn Allocation::handle_datagram(self : Allocation, datagram : InboundDatagram) -> Unit raise TurnErrorfn Allocation::handle_stream_bytes(self : Allocation, now : Instant, bytes : Bytes) -> Unit raise TurnErrorfn Allocation::new(local_address~ : SocketAddress, server~ : SocketAddress, credentials~ : TurnCredentials, transport? : TurnTransport) -> Allocation raise TurnErrorfn Allocation::send(self : Allocation, peer : SocketAddress, payload : Bytes, now : Instant) -> Unit raise TurnErrorpub(all) enum AllocationEvent {
AllocationStateChanged(AllocationState)
AllocationCreated(RelayedAddress)
PermissionCreated(SocketAddress)
ChannelBound(peer~ : SocketAddress, channel~ : UInt16)
PeerData(peer~ : SocketAddress, payload~ : Bytes)
} derive(Eq, Debug)pub(all) struct RelayedAddress {
address : SocketAddress
server : SocketAddress
transport : TurnTransport
} derive(Eq, Debug)Install
Download zipExperimental Sans-I/O WebRTC stack for MoonBit
Dependencies