Skip to main content
Version: 2.x

Class Room

An ODIN room, which handles the underlying native opaque room handle. This abstraction provides a high-level interface for joining rooms, managing persistent state.

Declaration
public class Room : IRoom, IDisposable

Implements:
OdinNative.Wrapper.IRoom, System.IDisposable

Properties

Samplerate

Room default samplerate

Declaration
public uint Samplerate { get; }

Stereo

Room default stereo flag

Declaration
public bool Stereo { get; }

EndPoint

Room server gateway endpoint

Declaration
public string EndPoint { get; }

Id

RoomId

Declaration
public ulong Id { get; }

OwnPeerId

PeerId of self

Declaration
public uint OwnPeerId { get; }

UserId

UserId of self

Declaration
public string UserId { get; }

Name

Room name

Declaration
public string Name { get; }

Customer

Joining customer

Declaration
public string Customer { get; }

RoomStatus

RoomStatus

Declaration
public string RoomStatus { get; }

Tags

Self room tags

Declaration
public IEnumerable<string> Tags { get; }

ReconnectToken

Latest token for new reconnects

Declaration
public string ReconnectToken { get; }

InitialUserData

User data of the local peer that is sent together with the join request

Declaration
public string InitialUserData { get; set; }

IsJoined

IsJoined

Declaration
public bool IsJoined { get; }

IsClosed

IsClosed

Declaration
public bool IsClosed { get; }

CryptoCipher

Crypto cipher

Declaration
public Crypto CryptoCipher { get; }

RemotePeers

Container of room peers

Declaration
public ConcurrentDictionary<uint, PeerEntity> RemotePeers { get; }

Encoders

Container of room input medias

Declaration
public ConcurrentDictionary<ulong, MediaEncoder> Encoders { get; }

Sockets

Container of room sockets

Declaration
public ConcurrentDictionary<ulong, Socket> Sockets { get; }

Decoders

Elements of room output medias

Declaration
public IEnumerable<MediaDecoder> Decoders { get; }

Authentication

Room joining authentication

Declaration
public string Authentication { get; }

Parent

Default value null indicates root or not set

Declaration
public object Parent { get; set; }

Self

The local peer for this client in this room. Null until the room is joined.

Declaration
public IPeer Self { get; }

Methods

OnDatagramReceived(DatagramEventArgs)

Declaration
protected void OnDatagramReceived(DatagramEventArgs e)
Parameters
TypeName
OdinNative.Wrapper.Room.DatagramEventArgse

OnRPCReceived(RpcEventArgs)

Declaration
protected void OnRPCReceived(RpcEventArgs e)
Parameters
TypeName
OdinNative.Wrapper.Room.RpcEventArgse

OnSocketReceived(SocketMessageEventArgs)

Declaration
protected void OnSocketReceived(SocketMessageEventArgs e)
Parameters
TypeName
OdinNative.Wrapper.Socket.SocketMessageEventArgse

Create(string, uint, bool)

Initialise independent room

Declaration
public static Room Create(string endPoint, uint samplerate = 48000, bool stereo = false)
Returns

OdinNative.Wrapper.Room.Room: Room object

Parameters
TypeNameDescription
System.StringendPointGateway server
System.UInt32sampleratesets default samplerate
System.Booleanstereosets default stereo flag

Room_OnPeerLeft(object, PeerLeftObjectContainer)

Remove and dispose peer of OdinNative.Wrapper.Room.Room.RemotePeers

Declaration
protected virtual void Room_OnPeerLeft(object sender, PeerLeftObjectContainer args)
Parameters
TypeName
System.Objectsender
OdinNative.Wrapper.Peer.Rpc.PeerLeftObjectContainerargs

CreateMediaDecoder(uint)

Add new created decoder to OdinNative.Wrapper.Room.Room.RemotePeers by id returns decoder or null if there is no peer

Declaration
public virtual MediaDecoder CreateMediaDecoder(uint peerId)
Returns

OdinNative.Wrapper.MediaDecoder

Parameters
TypeName
System.UInt32peerId

RemoveMediaDecoder(uint, ulong)

Remove and dispose decoder of OdinNative.Wrapper.Room.Room.RemotePeers by media id

Declaration
public virtual void RemoveMediaDecoder(uint peerId, ulong mediaId)
Parameters
TypeName
System.UInt32peerId
System.UInt64mediaId

Room_OnPeerChanged(object, PeerChangedObjectContainer)

Set userdata of OdinNative.Wrapper.Room.Room.RemotePeers by id

Declaration
protected virtual void Room_OnPeerChanged(object sender, PeerChangedObjectContainer args)
Parameters
TypeName
System.Objectsender
OdinNative.Wrapper.Peer.Rpc.PeerChangedObjectContainerargs

Room_OnMessageReceived(object, uint, byte[])

Log message in Debug

Declaration
protected virtual void Room_OnMessageReceived(object sender, uint peerId, byte[] message)
Parameters
TypeName
System.Objectsender
System.UInt32peerId
System.Byte[]message

Room_OnRoomJoined(object, JoinedObjectContainer)

Set OdinNative.Wrapper.Room.Room.RemotePeers for bookkeeping and AvailableEncoderIds for encoders

Declaration
protected virtual void Room_OnRoomJoined(object sender, JoinedObjectContainer args)
Parameters
TypeName
System.Objectsender
OdinNative.Wrapper.Room.Rpc.JoinedObjectContainerargs

Room_OnRoomLeft(object, string)

This close the current room

Declaration
protected virtual void Room_OnRoomLeft(object sender, string reason)
Parameters
TypeNameDescription
System.Objectsenderroom
System.Stringreasonevent reason

Room_OnRoomStatusChanged(object, string)

Set the RoomStatus and flag for transition

Declaration
protected virtual void Room_OnRoomStatusChanged(object sender, string connectionStatus)
Parameters
TypeName
System.Objectsender
System.StringconnectionStatus

Room_OnDatagram(object, DatagramEventArgs)

Default impl will push a datagram to the OdinNative.Wrapper.MediaDecoders of the sending peer whose OdinNative.Wrapper.MediaDecoder.ListenChannelMask overlaps the datagram's channel mask.

Declaration
public virtual void Room_OnDatagram(object sender, DatagramEventArgs args)
Parameters
TypeNameDescription
System.ObjectsenderRoom object
OdinNative.Wrapper.Room.DatagramEventArgsargsDatagram event arguments

Room_OnRPC(object, RpcEventArgs)

Default impl will process all rpc packets.

Declaration
public virtual void Room_OnRPC(object sender, RpcEventArgs args)
Parameters
TypeNameDescription
System.ObjectsenderRoom object
OdinNative.Wrapper.Room.RpcEventArgsargsRPC event arguments

Room_OnSocket(object, SocketMessageEventArgs)

Default impl will forward all socket messages.

Declaration
public virtual void Room_OnSocket(object sender, SocketMessageEventArgs args)
Parameters
TypeNameDescription
System.ObjectsenderRoom object
OdinNative.Wrapper.Socket.SocketMessageEventArgsargsRPC event arguments

ProcessJsonRpc(string)

Declaration
protected virtual void ProcessJsonRpc(string json)
Parameters
TypeName
System.Stringjson

Join(string, string, uint, bool, OdinCipherHandle, out Room)

Create and join a Room

Declaration
public static bool Join(string endPoint, string auth, uint samplerate, bool stereo, OdinCipherHandle cipher, out Room room)
Returns

System.Boolean: true on successfully request join or false

Parameters
TypeNameDescription
System.StringendPointGateway server
System.Stringauthjson authentication string
System.UInt32sampleratesets default samplerate
System.Booleanstereosets default stereo flag
OdinNative.Core.Imports.OdinCipherHandlecipheroptional crypto or null
OdinNative.Wrapper.Room.RoomroomInitialized room

Join(string, string, string, uint, bool, OdinCipherHandle, out Room)

Create and join a Room

Declaration
public static bool Join(string endPoint, string token, string roomName, uint samplerate, bool stereo, OdinCipherHandle cipher, out Room room)
Returns

System.Boolean: true on successfully request join or false

Parameters
TypeNameDescription
System.StringendPointGateway server
System.Stringtokenjoin token
System.StringroomNameroom name
System.UInt32sampleratesets default samplerate
System.Booleanstereosets default stereo flag
OdinNative.Core.Imports.OdinCipherHandlecipheroptional crypto or null
OdinNative.Wrapper.Room.RoomroomInitialized room

Join(string, string, OdinCipherHandle)

Join a room

Declaration
public bool Join(string token, string roomName, OdinCipherHandle cipher = null)
Returns

System.Boolean: true on successfully request join or false

Parameters
TypeNameDescription
System.Stringtokentoken for json authentication string
System.StringroomNameroom name for json authentication string
OdinNative.Core.Imports.OdinCipherHandlecipheroptional crypto

Join(string, OdinCipherHandle)

Join a room

Declaration
public bool Join(string token, OdinCipherHandle cipher = null)
Returns

System.Boolean: true on successfully request join or false

Parameters
TypeNameDescription
System.Stringtokentoken for json authentication string
OdinNative.Core.Imports.OdinCipherHandlecipheroptional crypto

Create(string, OdinCipherHandle)

Join a room with a json authentication string

Declaration
protected bool Create(string authentication, OdinCipherHandle cipher = null)
Returns

System.Boolean: true on successfully request join or false

Parameters
TypeNameDescription
System.StringauthenticationJoin token
OdinNative.Core.Imports.OdinCipherHandlecipheroptional crypto cipher handle or null

GetRoomId()

Retrieves the room id

Declaration
public ulong GetRoomId()
Returns

System.UInt64: room id

GetRoomName(bool)

Retrieves the room name

Declaration
public string GetRoomName(bool update = true)
Returns

System.String: room name

Parameters
TypeNameDescription
System.Booleanupdateupdate this room name on true

ResendUserData()

Resend native UserData

Declaration
protected NativeBindings.OdinError ResendUserData()
Returns

OdinNative.Core.Imports.NativeBindings.OdinError: error code

GetEncoder(ulong, out MediaEncoder)

Get an encoder from OdinNative.Wrapper.Room.Room.Encoders by id

Declaration
public bool GetEncoder(ulong mediaId, out MediaEncoder encoder)
Returns

System.Boolean: true on encoder found or false

Parameters
TypeNameDescription
System.UInt64mediaIdid of an input media
OdinNative.Wrapper.MediaEncoderencoderinput object

GetOrCreateEncoder(out MediaEncoder)

Get an encoder from OdinNative.Wrapper.Room.Room.Encoders by id. If the encoder is not found create a new one that will be added to OdinNative.Wrapper.Room.Room.Encoders.

Declaration
public bool GetOrCreateEncoder(out MediaEncoder encoder)
Returns

System.Boolean: true or false on error

Parameters
TypeNameDescription
OdinNative.Wrapper.MediaEncoderencoderinput object

GetOrCreateEncoder(ulong, out MediaEncoder)

Get an encoder from OdinNative.Wrapper.Room.Room.Encoders by id. If the encoder is not found create a new one that will be added to OdinNative.Wrapper.Room.Room.Encoders.

Declaration
public bool GetOrCreateEncoder(ulong mediaId, out MediaEncoder encoder)
Returns

System.Boolean: true or false on error

Parameters
TypeNameDescription
System.UInt64mediaIdid of an input media
OdinNative.Wrapper.MediaEncoderencoderinput object

GetOrCreateEncoder(ulong, uint, bool, out MediaEncoder)

Get an encoder from OdinNative.Wrapper.Room.Room.Encoders by id. If the encoder is not found create a new one that will be added to OdinNative.Wrapper.Room.Room.Encoders.

Declaration
public bool GetOrCreateEncoder(ulong mediaId, uint samplerate, bool stereo, out MediaEncoder encoder)
Returns

System.Boolean: true or false on error

Parameters
TypeNameDescription
System.UInt64mediaIdid of an input media
System.UInt32sampleratecustom samplerate
System.Booleanstereocustom stereo flag
OdinNative.Wrapper.MediaEncoderencoderinput object

CreateEncoder()

Create a new input media that will be added to OdinNative.Wrapper.Room.Room.Encoders

Declaration
public MediaEncoder CreateEncoder()
Returns

OdinNative.Wrapper.MediaEncoder: input media

CreateEncoder(uint, bool, uint)

Create a new input media that will be added to OdinNative.Wrapper.Room.Room.Encoders

Declaration
public MediaEncoder CreateEncoder(uint samplerate, bool stereo, uint peerId = 0)
Returns

OdinNative.Wrapper.MediaEncoder: input media

Parameters
TypeNameDescription
System.UInt32sampleratecustom samplerate
System.Booleanstereocustom stereo flag
System.UInt32peerIdbinding peer id

RemoveEncoder(ulong, out MediaEncoder)

Removes the input media from OdinNative.Wrapper.Room.Room.Encoders

Declaration
public bool RemoveEncoder(ulong mediaId, out MediaEncoder encoder)
Returns

System.Boolean: true on encoder found or false

Parameters
TypeNameDescription
System.UInt64mediaIdid of an input media
OdinNative.Wrapper.MediaEncoderencoderinput media that was removed

GetDecoder(uint, ulong, out MediaDecoder)

Get a decoder from OdinNative.Wrapper.PeerEntity.Medias of OdinNative.Wrapper.Room.Room.RemotePeers by id

Declaration
public bool GetDecoder(uint peerId, ulong mediaId, out MediaDecoder decoder)
Returns

System.Boolean: true on decoder found or false

Parameters
TypeNameDescription
System.UInt32peerIdid of peer
System.UInt64mediaIdid of output media
OdinNative.Wrapper.MediaDecoderdecoderoutput object or null

GetOrCreateDecoder(uint, ulong, out MediaDecoder)

Get a decoder from OdinNative.Wrapper.PeerEntity.Medias of OdinNative.Wrapper.Room.Room.RemotePeers by id. If the decoder is not found create a new one that will be added to the Peer

Declaration
public bool GetOrCreateDecoder(uint peerId, ulong mediaId, out MediaDecoder decoder)
Returns

System.Boolean: true on decoder found or false

Parameters
TypeNameDescription
System.UInt32peerIdid of peer
System.UInt64mediaIdid of output media
OdinNative.Wrapper.MediaDecoderdecoderoutput object or null

GetOrCreateDecoder(uint, ulong, uint, bool, out MediaDecoder)

Get a decoder from OdinNative.Wrapper.PeerEntity.Medias of OdinNative.Wrapper.Room.Room.RemotePeers by id. If the decoder is not found create a new one that will be added to the Peer

Declaration
public bool GetOrCreateDecoder(uint peerId, ulong mediaId, uint samplerate, bool stereo, out MediaDecoder decoder)
Returns

System.Boolean: true on decoder found or false

Parameters
TypeNameDescription
System.UInt32peerIdid of peer
System.UInt64mediaIdid of output media
System.UInt32sampleratecustom samplerate
System.Booleanstereocustom stereo flag
OdinNative.Wrapper.MediaDecoderdecoderoutput object or null

CreateDecoder(uint)

Create a new output media that will be added to OdinNative.Wrapper.PeerEntity.Medias

Declaration
public MediaDecoder CreateDecoder(uint peerId)
Returns

OdinNative.Wrapper.MediaDecoder: output media

Parameters
TypeNameDescription
System.UInt32peerIdid of peer

CreateDecoder(uint, uint, bool)

Create a new output media that will be added to OdinNative.Wrapper.PeerEntity.Medias

Declaration
public MediaDecoder CreateDecoder(uint peerId, uint samplerate, bool stereo)
Returns

OdinNative.Wrapper.MediaDecoder: output media

Parameters
TypeNameDescription
System.UInt32peerIdid of peer
System.UInt32sampleratecustom samplerate
System.Booleanstereocustom stereo flag

RemoveDecoder(uint, ulong, out MediaDecoder)

Removes an output media from a remote peer.

Declaration
public bool RemoveDecoder(uint peerId, ulong mediaId, out MediaDecoder decoder)
Returns

System.Boolean: true on decoder found or false

Parameters
TypeNameDescription
System.UInt32peerIdid of peer
System.UInt64mediaIdid of an output media
OdinNative.Wrapper.MediaDecoderdecoderoutput media that was removed

SetListenChannelMask(ChannelMask)

Sets the channel mask used when listening to peers that do not have a per-peer override set via OdinNative.Wrapper.Room.Room.SetListenChannelMaskForPeer(System.UInt32,OdinNative.Core.Utility.ChannelMask) . Applies immediately to every currently known peer and is automatically (re-)applied to peers that join afterward.

Declaration
public virtual bool SetListenChannelMask(Utility.ChannelMask mask)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
OdinNative.Core.Utility.ChannelMaskmaskchannel mask to listen to for all peers without an override

SetListenChannelMaskForPeer(uint, ChannelMask)

Overrides the channel mask used when listening to a specific peer, taking precedence over the default set via OdinNative.Wrapper.Room.Room.SetListenChannelMask(OdinNative.Core.Utility.ChannelMask).

Declaration
public virtual bool SetListenChannelMaskForPeer(uint peerId, Utility.ChannelMask mask)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.UInt32peerIdpeer to override the listen channel mask for
OdinNative.Core.Utility.ChannelMaskmaskchannel mask to listen to for this peer

ClearListenChannelMaskForPeer(uint)

Removes a previously set per-peer listen channel mask override, falling back to the default set via OdinNative.Wrapper.Room.Room.SetListenChannelMask(OdinNative.Core.Utility.ChannelMask) for that peer.

Declaration
public virtual bool ClearListenChannelMaskForPeer(uint peerId)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.UInt32peerIdpeer to remove the override for

SetChannelMasks(IDictionary<uint, ulong>, bool)

Sends a "SetChannelMasks" request to the server to control which channels should be received from the specified peers.

Declaration
public virtual bool SetChannelMasks(IDictionary<uint, ulong> masks, bool reset)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.Collections.Generic.IDictionary<System.UInt32,System.UInt64>maskspeer id to channel mask mapping
System.Booleanresetwhen true, replaces the server-side subscription instead of merging into it

UpdateUserData(IUserData)

Update arbitrary userdata of self (note: OdinNative.Wrapper.UserData)

Declaration
public virtual bool UpdateUserData(IUserData userData)
Returns

System.Boolean

Parameters
TypeNameDescription
OdinNative.Wrapper.IUserDatauserDataarbitrary data

UpdateUserData(string)

Update userdata of self (note: OdinNative.Wrapper.Room.Room.UpdateUserData(OdinNative.Wrapper.IUserData))

Declaration
public virtual bool UpdateUserData(string json)
Returns

System.Boolean

Parameters
TypeNameDescription
System.Stringjsonjson data

SendMessage(string)

Send a "message" rpc to the server to broadcast the message.

Declaration
public virtual bool SendMessage(string message)
Returns

System.Boolean

Parameters
TypeNameDescription
System.StringmessageUTF8 string

SendRpc<T>(T)

Send rpc to the room as json representation

Declaration
public virtual bool SendRpc<T>(T obj)
Returns

System.Boolean

Parameters
TypeNameDescription
<T>objdata to serialize
Type Parameters
NameDescription
Ttype

SendRpc(string)

Send raw rpc to the room

Declaration
public NativeBindings.OdinError SendRpc(string rpc)
Returns

OdinNative.Core.Imports.NativeBindings.OdinError

Parameters
TypeNameDescription
System.Stringrpcjson representation string

SendAudio(float[], bool)

Push the samples to all OdinNative.Wrapper.Room.Room.Encoders for pipeline processing and pop the result as datagrams to the server

Declaration
public virtual void SendAudio(float[] samples, bool isSilent = false)
Parameters
TypeNameDescription
System.Single[]samplesAudio data
System.BooleanisSilentflag these samples as silence

SendAudio(float[], ulong, bool)

Push the samples to the input media for pipeline processing and pop the result as datagram to the server

Declaration
public virtual bool SendAudio(float[] samples, ulong mediaId, bool isSilent = false)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.Single[]samplesAudio data
System.UInt64mediaIdinput media id
System.BooleanisSilentflag these samples as silence

SendAudio(float[], MediaEncoder)

Push the samples to the input media for pipeline processing and pop the result as datagram to the server

Declaration
public virtual bool SendAudio(float[] samples, MediaEncoder encoder)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.Single[]samplesAudio data
OdinNative.Wrapper.MediaEncoderencoderinput media

SendAudio(float[], MediaEncoder, bool)

Push the samples to the input media for pipeline processing and pop the result as datagram to the server

Declaration
public virtual bool SendAudio(float[] samples, MediaEncoder encoder, bool isSilent)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.Single[]samplesAudio data
OdinNative.Wrapper.MediaEncoderencoderinput media
System.BooleanisSilentflag these samples as silence

SendEncoderAudio(ushort)

Pop all samples from the input media by id and send them to the server

Declaration
public virtual bool SendEncoderAudio(ushort mediaId)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
System.UInt16mediaIdinput media id

SendEncoderAudio(MediaEncoder)

Pop all samples from the input media and send them to the server

Declaration
public virtual bool SendEncoderAudio(MediaEncoder encoder)
Returns

System.Boolean: true on success or false

Parameters
TypeNameDescription
OdinNative.Wrapper.MediaEncoderencoderinput media

SendDatagram(byte[])

Send audio to the server

Declaration
protected virtual NativeBindings.OdinError SendDatagram(byte[] datagram)
Returns

OdinNative.Core.Imports.NativeBindings.OdinError: OdinNative.Core.Imports.NativeBindings.OdinError.ODIN_ERROR_SUCCESS or error

Parameters
TypeNameDescription
System.Byte[]datagramencoder datagram

AddSocket(OdinSocketKind, uint, int, int)

Declaration
public virtual Socket AddSocket(NativeBindings.OdinSocketKind type, uint peerId, int label = 0, int priority = 0)
Returns

OdinNative.Wrapper.Socket.Socket

Parameters
TypeName
OdinNative.Core.Imports.NativeBindings.OdinSocketKindtype
System.UInt32peerId
System.Int32label
System.Int32priority

GetSocket(ulong)

Declaration
public virtual Socket GetSocket(ulong Id)
Returns

OdinNative.Wrapper.Socket.Socket

Parameters
TypeName
System.UInt64Id

GetOrAddSocket(uint, OdinSocketKind, uint, int, int)

Declaration
[Obsolete("Custom uint keys never matched the native socket callback lookup; use AddSocket and keep the returned socket - sockets are keyed by their native id, so this compatibility shim opens a new socket per call")]
public virtual Socket GetOrAddSocket(uint Id, NativeBindings.OdinSocketKind type, uint peerId, int label = 0, int priority = 0)
Returns

OdinNative.Wrapper.Socket.Socket

Parameters
TypeName
System.UInt32Id
OdinNative.Core.Imports.NativeBindings.OdinSocketKindtype
System.UInt32peerId
System.Int32label
System.Int32priority

RemoveSocket(ulong, bool)

Declaration
public virtual Socket RemoveSocket(ulong Id, bool close = false)
Returns

OdinNative.Wrapper.Socket.Socket

Parameters
TypeName
System.UInt64Id
System.Booleanclose

SendLoopbackRpc(string)

Send client side rpc message

Declaration
protected virtual NativeBindings.OdinError SendLoopbackRpc(string rpc)
Returns

OdinNative.Core.Imports.NativeBindings.OdinError: OdinNative.Core.Imports.NativeBindings.OdinError.ODIN_ERROR_SUCCESS or error

Parameters
TypeNameDescription
System.Stringrpcjson string

Close()

Close the native room. (native dispose)

Declaration
public void Close()

Dispose(bool)

On dispose will free the room and all associated data

Declaration
protected virtual void Dispose(bool disposing)
Parameters
TypeName
System.Booleandisposing

~Room()

Finalizer

Declaration
protected ~Room()

Dispose()

Requests close, then frees resources after Closed or a timeout and after active callbacks exit.

Declaration
public void Dispose()

Events

OnDatagram

Call on audio data

Declaration
public event EventHandler<DatagramEventArgs> OnDatagram
Event Type

System.EventHandler<OdinNative.Wrapper.Room.DatagramEventArgs>

OnRpc

Call on rpc data

Declaration
public event EventHandler<RpcEventArgs> OnRpc
Event Type

System.EventHandler<OdinNative.Wrapper.Room.RpcEventArgs>

OnSocket

Call on socket data

Declaration
public event EventHandler<SocketMessageEventArgs> OnSocket
Event Type

System.EventHandler<OdinNative.Wrapper.Socket.SocketMessageEventArgs>

OnRoomStatusChanged

Odin connection status

Declaration
public event OnRoomStatusChangedDelegate OnRoomStatusChanged
Event Type

OdinNative.Wrapper.OnRoomStatusChangedDelegate

OnRoomJoined

Odin room joined

Declaration
public event OnRoomJoinedDelegate OnRoomJoined
Event Type

OdinNative.Wrapper.OnRoomJoinedDelegate

OnRoomLeft

Odin room left

Declaration
public event OnRoomLeftDelegate OnRoomLeft
Event Type

OdinNative.Wrapper.OnRoomLeftDelegate

OnPeerJoined

Odin peer joined

Declaration
public event OnPeerJoinedDelegate OnPeerJoined
Event Type

OdinNative.Wrapper.OnPeerJoinedDelegate

OnPeerLeft

A remote peer left, or was removed locally when this session ended.

Declaration
public event OnPeerLeftDelegate OnPeerLeft
Event Type

OdinNative.Wrapper.OnPeerLeftDelegate

OnPeerChanged

Odin peer changed

Declaration
public event OnPeerChangedDelegate OnPeerChanged
Event Type

OdinNative.Wrapper.OnPeerChangedDelegate

OnMessageReceived

Odin room received message

Declaration
public event OnMessageReceivedDelegate OnMessageReceived
Event Type

OdinNative.Wrapper.OnMessageReceivedDelegate

__OnExtraDestroyDelegate

Declaration
public event EventHandler<nint> __OnExtraDestroyDelegate
Event Type

System.EventHandler<System.IntPtr>

Implements