Added support for distributed sets: unordered collections of elements

where the elements are user defined objects that know how to read and
write themselves on a stream. Sets are required to contain elements all of
the same type to make network traffic more efficient (avoid sending the
classname every time an element is added or removed).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@264 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2001-08-16 03:31:09 +00:00
parent 3aa5302b00
commit 55c4847a17
5 changed files with 562 additions and 2 deletions
@@ -1,5 +1,5 @@
//
// $Id: DObject.java,v 1.23 2001/08/15 18:38:54 mdb Exp $
// $Id: DObject.java,v 1.24 2001/08/16 03:31:08 mdb Exp $
package com.threerings.cocktail.cher.dobj;
@@ -412,6 +412,28 @@ public class DObject
_mgr.postEvent(event);
}
/**
* Calls by derived instances when a set adder method was called.
*/
protected void requestElementAdd (String name, DSet.Element elem)
{
// generate an element added event
DEvent event = new ElementAddedEvent(_oid, name, elem);
// and dispatch it to our dobjmgr
_mgr.postEvent(event);
}
/**
* Calls by derived instances when a set remover method was called.
*/
protected void requestElementRemove (String name, Object key)
{
// generate an element removed event
DEvent event = new ElementRemovedEvent(_oid, name, key);
// and dispatch it to our dobjmgr
_mgr.postEvent(event);
}
/** Our object id. */
protected int _oid;