jbwyatt4 / openmeetings

Automatically exported from code.google.com/p/openmeetings
1 stars 0 forks source link

New concept for RemoteClients and Server Side Session #1569

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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.

Original issue reported on code.google.com by seba.wag...@gmail.com on 9 Nov 2011 at 8:02

GoogleCodeExporter commented 9 years ago

Original comment by seba.wag...@gmail.com on 31 Jan 2012 at 12:22

GoogleCodeExporter commented 9 years ago
OpenMeetings moves to Apache Foundation, update your bookmarks to the new 
project page:

http://incubator.apache.org/openmeetings/

New Issue tracker is located: https://issues.apache.org/jira/browse/OPENMEETINGS

New Mailing Lists located at: 
http://incubator.apache.org/openmeetings/mail-lists.html 

Original comment by seba.wag...@gmail.com on 31 Jan 2012 at 12:25