Note updates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@197 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
+30
-81
@@ -3,9 +3,6 @@ Cher Notes -*- outline -*-
|
|||||||
* TODO
|
* TODO
|
||||||
Pass cause back to client somehow via FailureResponse in Client.requestFailed
|
Pass cause back to client somehow via FailureResponse in Client.requestFailed
|
||||||
|
|
||||||
Ensure at time of OBJECT_ADDED that the object being added exists and has
|
|
||||||
not been destroyed.
|
|
||||||
|
|
||||||
clientWillLogff becomes clientMayLogoff?
|
clientWillLogff becomes clientMayLogoff?
|
||||||
|
|
||||||
Look into nbio waking up all sockets when any data comes in.
|
Look into nbio waking up all sockets when any data comes in.
|
||||||
@@ -34,89 +31,41 @@ synchronized.
|
|||||||
Maybe modify so that types are assigned automatically even if everything
|
Maybe modify so that types are assigned automatically even if everything
|
||||||
has to be registered in a single place, since it pretty much does anyway.
|
has to be registered in a single place, since it pretty much does anyway.
|
||||||
|
|
||||||
* Server components:
|
|
||||||
+ Connection manager
|
|
||||||
+ Client manager
|
|
||||||
+ Event dispatch thread (DObjectManager)
|
|
||||||
+ Server side services?
|
|
||||||
+ Room/Game managers
|
|
||||||
+ Info repository for shared info?
|
|
||||||
|
|
||||||
* Client components:
|
|
||||||
+ Network client (auth + DObject services)
|
|
||||||
+ Applet shell
|
|
||||||
+ Panel management
|
|
||||||
+ Components: chatbox, occupant info, turn indicator?
|
|
||||||
+ Room/Game panels, controllers, etc.
|
|
||||||
|
|
||||||
* Client detail:
|
|
||||||
+ Supply credentials (username, password)
|
|
||||||
+ Establishes, maintains connection:
|
|
||||||
logon (connect), logout (disconnect)
|
|
||||||
+ Creates, manages client-side DObjectManager
|
|
||||||
|
|
||||||
* Events in the client will be dispatched on the AWT thread
|
|
||||||
- Provide pluggable "event dispatcher" on the client
|
|
||||||
- Allow extension of Event as DispatchableEvent so that event objects
|
|
||||||
themselves can extend Runnable and be popped right into
|
|
||||||
SwingUtil.invokeLater().
|
|
||||||
|
|
||||||
* Client network mgmt
|
* Client network mgmt
|
||||||
Client perform all network ops on own thread, will call back to main
|
Client perform all network ops on own thread, will call back to main code
|
||||||
code through Observer interface to notify of state changes in the
|
through Observer interface to notify of state changes in the
|
||||||
authentication process/connectedness:
|
authentication process/connectedness:
|
||||||
|
|
||||||
public interface ClientObserver
|
public interface ClientObserver
|
||||||
{
|
{
|
||||||
public void didConnect ();
|
public void didConnect ();
|
||||||
public void connectionFailed ();
|
public void connectionFailed ();
|
||||||
public void didLogon ();
|
public void didLogon ();
|
||||||
public void logonFailed ();
|
public void logonFailed ();
|
||||||
public void didDisconnect ();
|
public void didDisconnect ();
|
||||||
public void didLogoff ();
|
public void didLogoff ();
|
||||||
}
|
}
|
||||||
|
|
||||||
* Three Rings Client flowlist:
|
|
||||||
Instantiate client
|
|
||||||
Obtain auth info
|
|
||||||
Obtain room info
|
|
||||||
Authenticate
|
|
||||||
|
|
||||||
* DObject class generation
|
* DObject class generation
|
||||||
Distributed objects are defined like a class with a set of public data
|
Distributed objects are defined like a class with a set of public data
|
||||||
members which is then converted into an actual class with get/set
|
members which is then converted into an actual class with get/set methods
|
||||||
methods for each member.
|
for each member.
|
||||||
|
|
||||||
public dclass GameObject
|
public dclass GameObject
|
||||||
{
|
{
|
||||||
public int[] players;
|
public int[] players;
|
||||||
public String description;
|
public String description;
|
||||||
}
|
}
|
||||||
|
|
||||||
becomes
|
becomes
|
||||||
|
|
||||||
public class GameObject extends DObject
|
public class GameObject extends DObject
|
||||||
{
|
{
|
||||||
public void setPlayers (int[] players);
|
public void setPlayers (int[] players);
|
||||||
public void setPlayersAt (int index, int value);
|
public void setPlayersAt (int index, int value);
|
||||||
public int[] getPlayers ();
|
public int[] getPlayers ();
|
||||||
public int getPlayersAt (int index);
|
public int getPlayersAt (int index);
|
||||||
|
|
||||||
public void setDescription (String description);
|
public void setDescription (String description);
|
||||||
public String getDescription ();
|
public String getDescription ();
|
||||||
}
|
}
|
||||||
|
|
||||||
* Events:
|
|
||||||
ATTRIBUTE_CHANGED
|
|
||||||
ATTRIBUTES_CHANGED
|
|
||||||
ATTRIBUTES_CHANGED_SPLIT?
|
|
||||||
ELEMENT_CHANGED
|
|
||||||
OBJECT_DESTROYED
|
|
||||||
|
|
||||||
ELEMENT_ADDED
|
|
||||||
ELEMENT_REMOVED
|
|
||||||
|
|
||||||
OID_ADDED
|
|
||||||
OID_REMOVED
|
|
||||||
|
|
||||||
NOTIFICATION
|
|
||||||
|
|||||||
Reference in New Issue
Block a user