InternalThe Current own state event if the manger is connected.
undefined if not connected.
If the membership manager has reason to believe that the hs sent a leave event and as a consequence the current user is perceived as left for other session participants.
Get the actual connection status of the manager.
Alias for on.
Synchronously calls each of the listeners registered for the event named
event, in the order they were registered, passing the supplied arguments
to each.
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Synchronously calls each of the listeners registered for the event named
event, in the order they were registered, passing the supplied arguments
to each.
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Similar to emit but calls all listeners within a Promise.all and returns the promise chain
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
Similar to emit but calls all listeners within a Promise.all and returns the promise chain
The name of the event to emit
Arguments to pass to the listener
true if the event had listeners, false otherwise.
If the manager is activated. This means it tries to do its job to join the call, resend state events...
It does not imply that the room state is already configured to represent being joined.
It means that the Manager tries to connect or is connected. ("the manager is still active")
Once leave() is called the manager is not activated anymore but still running until leave() resolves.
true if we intend to be participating in the MatrixRTC session
If we are trying to join, or have successfully joined the session. It does not reflect if the room state is already configured to represent us being joined. It only means that the Manager should be trying to connect or to disconnect running. The Manager is still running right after isJoined becomes false to send the disconnect events.
true if we intend to be participating in the MatrixRTC session
Start sending all necessary events to make this user participate in the RTC session.
the list of preferred foci to use in the joined RTC membership event. If multiSfuFocus is set, this is only needed if this client wants to publish to multiple transports simultaneously.
OptionalmultiSfuFocus: Transportthe active focus to use in the joined RTC membership event. Setting this implies the
membership manager will operate in a multi-SFU connection mode. If undefined, an oldest_membership
transport selection will be used instead.
OptionalonError: (error: unknown) => voidSend all necessary events to make this user leave the RTC session.
Optionaltimeout: numberthe maximum duration in ms until the promise is forced to resolve.
It resolves with true in case the leave was sent successfully. It resolves with false in case we hit the timeout before sending successfully.
Returns the number of listeners listening to the event named event.
The name of the event being listened for
Returns a copy of the array of listeners for the event named event.
Alias for removeListener
Adds the listener function to the end of the listeners array for the
event named event.
No checks are made to see if the listener has already been added. Multiple calls
passing the same combination of event and listener will result in the listener
being added, and called, multiple times.
By default, event listeners are invoked in the order they are added. The prependListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Adds a one-time listener function for the event named event. The
next time event is triggered, this listener is removed and then invoked.
Returns a reference to the EventEmitter, so that calls can be chained.
By default, event listeners are invoked in the order they are added. The prependOnceListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Call this if the MatrixRTC session members have changed.
Adds the listener function to the beginning of the listeners array for the
event named event.
No checks are made to see if the listener has already been added. Multiple calls
passing the same combination of event and listener will result in the listener
being added, and called, multiple times.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Adds a one-timelistener function for the event named event to the beginning of the listeners array.
The next time event is triggered, this listener is removed, and then invoked.
The name of the event.
The callback function
a reference to the EventEmitter, so that calls can be chained.
Returns a copy of the array of listeners for the event named eventName,
including any wrappers (such as those created by .once()).
Removes all listeners, or those of the specified event.
It is bad practice to remove listeners added elsewhere in the code,
particularly when the EventEmitter instance was created by some other
component or module (e.g. sockets or file streams).
Optionalevent: EventEmitterEvents | MembershipManagerEventThe name of the event. If undefined, all listeners everywhere are removed.
a reference to the EventEmitter, so that calls can be chained.
Removes the specified listener from the listener array for the event named event.
a reference to the EventEmitter, so that calls can be chained.
Update the intent of a membership on the call (e.g. user is now providing a video feed)
The new intent to set.
This interface defines what a MembershipManager uses and exposes. This interface is what we use to write tests and allows changing the actual implementation without breaking tests because of some internal method renaming.