#6350 NORM Never A: Rework olpcgames.mesh

Zarro Boogs per Child bugtracker at laptop.org
Tue Feb 5 15:35:04 EST 2008


#6350: Rework olpcgames.mesh
-------------------------+--------------------------------------------------
 Reporter:  mcfletch     |       Owner:  mcfletch          
     Type:  enhancement  |      Status:  new               
 Priority:  normal       |   Milestone:  Never Assigned    
Component:  olpc-games   |     Version:  Git as of bug date
 Keywords:               |    Verified:  0                 
 Blocking:               |   Blockedby:                    
-------------------------+--------------------------------------------------
 Currently OLPCGames' mesh module is mixing functions which can only be
 called from the GTK mainloop with functions that can be called from either
 Pygame or GTK.  It is also using a broken mechanism for tracking users
 (dependant on the original host remaining in the room) and is using up a
 lot of Pygame event types (4 just for networking).

 It should likely be refactored like so:

 * a Pygame-level interface, entirely asynchronous with either all-callback
 or all-event based operation (currently there's a mix)

 * a GTK-level interface that allows particular ExportedGObjects  to be
 added to the activity

 ** ability to expose a given ExportedGObject

 ** ability to acquire a given ExportedGObject reference with a Pygame-
 compatibility wrapper

 * a particular ExportedGObject that implements the current "simplified"
 mesh API

 ** one sub-object implementing the "user tracker" pattern

 ** one sub-object implementing the N**2 tubes connection pattern of the
 current design (for backward compatibility)

 * use UserEvent event type for *all* OLPCGames events, with sub-types for
 the various event types.

 I'm currently assigning this to myself, but if someone has a couple of
 days to work on this it would really help me if this could be done by
 someone else.

-- 
Ticket URL: <http://dev.laptop.org/ticket/6350>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list