Status: Accepted
Owner: [email protected]
Labels: Type-Task Priority-Medium MileStone-VideoComponent

New issue 1569 by [email protected]: New concept for RemoteClients and Server Side Session
http://code.google.com/p/openmeetings/issues/detail?id=1569

The ScopeApplicationAdapter, ChatServer, WhiteboardService (and potentially some more) are iterating through all available connections to send for example whiteboard events. There is just one exception at this point: If it is a screensharing client we do not send whiteboard events to.

If there are now two or several NetConnection per conference participant, we need to make sure that only the NetConnection that really handles the whiteboard will receive whiteboard events. Otherwise it will lead to the situation that you send the same whiteboard objects (that can be several KBytes) seeral time to the same client.

On the other hand I can imagine there are Events that you actually want to send to those NetConnections that handle the Audio/Video component.

It makes not so much sense anymore to handle all RoomClients in a single queue then and currently the paradigma is:
array ( publicSID1 = roomClient1, publicSID2 = roomClient2, ...)

if we have several roomClients representing the same user (and publicSID this array(map) will no more work.

We should split up the roomClients into several list. A audio/video NetConnection also does not need a full RoomClient object with all attributes.

New design of RoomClient:
abstract class BaseRoomClient
-->RoomClient extends BaseRoomClient
-->ScreenClient extends BaseRoomClient
-->AudioVideoClient extends BaseRoomClient

New design of session object:
roomClientArrayMap = array ( publicSID1 = roomClient1, publicSID2 = roomClient2, ...) screenSharingMap = array ( publicSID1 = screenRoomClient1, publicSID2 = screenRoomClient2, ...) audioVideoMap = array ( publicSID1 = videoRoomClient1, publicSID2 = videoRoomClient2, ...)

So to iterate through all clients that should receive the whiteboard events we iterate only through roomClientArrayMap and no more through all session objects.

--
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en.

Reply via email to