Commit Graph

272 Commits

Author SHA1 Message Date
Michael Bayne 3d5ae4becb Report the caller rather than their oid for failed service requests.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1666 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-06 01:49:23 +00:00
Michael Bayne 99edb5cd5e Regenerated services and receivers to fix bugs and use updated templates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1659 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-20 19:38:16 +00:00
Michael Bayne 165843ac96 Fixed calculation error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1643 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 23:52:15 +00:00
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00
Michael Bayne d06aeb2cc7 Shut the server down if we were unable to initialize it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1616 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-25 20:24:02 +00:00
Michael Bayne 1877aacb3b Report the port to which we attempted to bind in the event of a bind
failure.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-25 20:23:25 +00:00
Michael Bayne c3191b9170 Brought code into line with the new streaming world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:52:49 +00:00
Michael Bayne 2601ab2321 Old object streaming code goes bye-bye.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1604 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:41:59 +00:00
Michael Bayne a9ef042dae Debug logging changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1589 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-18 00:42:30 +00:00
Michael Bayne e9ceaa6ae9 Marked transient fields accordingly so that the Marshaller doesn't try to
send them over the wire.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1588 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-18 00:41:59 +00:00
Michael Bayne 7a1a162a0d Changed field marshaller registration to be compatible with DashO-style
field renaming. I'm a bad monkey for overusing reflection.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1587 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-17 23:05:28 +00:00
Michael Bayne 8559e2eb29 Added auth code for use when the server is operational but not available.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1583 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-17 18:10:04 +00:00
Michael Bayne 71c392555f Fixed bug in dobj reference management.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1581 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-17 01:54:33 +00:00
Michael Bayne 18039887b4 Added a debug hook for dumping all objects in the dobj table.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1580 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-17 01:54:16 +00:00
Michael Bayne 6064ab1750 Provide some basic auth codes so that all users of Presents don't have to
come up with these same codes themselves.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1573 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-12 16:17:45 +00:00
Michael Bayne 40cbabe20c Report when the connection fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1570 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-12 03:49:02 +00:00
Michael Bayne cf8608f20a Enhanced reporting in failure conditions; fixed a problem where attempting
to end the session of a client that was already ended would result in
funny business.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1567 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:26:21 +00:00
Michael Bayne ae4267a7d5 Fixed problem with LogoffDispatcher where it was reusing a single instance
for all clients in a non-reentrant manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1566 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:25:11 +00:00
Michael Bayne 3be1d56ae7 Cleaned up connection handling code so that it deals more robustly and
gracefully with failures; also no longer attempt to send messages to a
connection that has already been closed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1565 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:23:45 +00:00
Michael Bayne 6b77216df1 Report some sort of identifying information so that we can differentiate
between connections even on JVMs (like Linux's) that seem to feel no need
to actually return anything sensible from InetAddress.toString().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1564 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-10 01:22:17 +00:00
Michael Bayne f84b6b1e26 Behave appropriately in circumstances where we have no data left to return
but the caller asks for zero bytes. In such cases we are to return zero
rather than -1 (which would indicate EOF).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1473 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-18 22:07:38 +00:00
Michael Bayne 4368463907 Created a SafeInterval that requeues itself on the client invoker thread
(the main client thread, which will generally be the AWT thread unless the
client is being used in a situation where there is no AWT) to avoid bad
thread clashy.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1424 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-05 02:50:57 +00:00
Michael Bayne 67492e13f0 Modified client observer notification process to:
a) use an ObserverList in SAFE_IN_ORDER_NOTIFY mode which circumnavigates
any funny business like observers being added or removed while we're
notifying the observers.

b) require that the clients be notified on the main client thread
(generally the AWT thread) by using the invoker; we had a problem
previously where clientDidLogoff() was being called by the communicator's
writer thread which caused all hell to break loose because everything
outside the client networking layer depends on running on the same thread.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1422 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-04 16:34:24 +00:00
Michael Bayne eb04dd7ea4 Added a method which can be used to determine if an object is currently
part of a transaction.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1416 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-31 20:47:55 +00:00
Michael Bayne 3261cff412 Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1410 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-31 07:33:33 +00:00
Michael Bayne 3ff72e8a58 Fixed typo in comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1405 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-29 18:44:36 +00:00
Michael Bayne 587e89ef24 Created services for distributing delta times over the network which are
interpreted according to a globally established base time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1404 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 23:14:06 +00:00
Michael Bayne 9b88def20b Took out the server ticks business because we're going to do delta times
in a more general purpose manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1403 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:54:43 +00:00
Michael Bayne 27866e0541 Moved configuration fiddling into config object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1402 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:25:44 +00:00
Michael Bayne fc0300d80d Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1401 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:07:13 +00:00
Michael Bayne 1492561985 Whoops, had that backwards.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:06:05 +00:00
Michael Bayne 2168067c74 Debug logging cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 22:05:52 +00:00
Michael Bayne 2f1a67077a Added code to establish the time delta between the client and server
clocks immediately following authentication.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1398 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-28 21:56:38 +00:00
Michael Bayne f0d7b8642b Need to ensure that we don't claim that the communicator is gone until
after both the reader and writer have exited (otherwise the reader could
exit before the writer which would result in the client chucking its
reference to the communicator which could subsequently bite us in the ass
if anyone tried to reference the client's distributed object manager when
the writer finally exited and triggered all of the clientDidLogoff
callbacks). Multithreaded programming is fun!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1396 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-27 01:37:07 +00:00
Michael Bayne 8a7a046df8 Modified safe interval to use IntervalManager services because there's a
single instance of the IntervalManager unlike the standard Java Timer
services which would require someone to have a timer instance to do the
scheduling of our safe intervals. Plus Ray will be much happier now that
the SafeInterval is not so flippant about reusing methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1392 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-24 21:38:24 +00:00
Michael Bayne 989a9867e0 Created a convenience class for executing code on the dobjmgr thread via
the standard Java timer services.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1391 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-24 21:03:15 +00:00
Walter Korman ab242f4a71 Fixed javadoc typo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-16 18:17:27 +00:00
Michael Bayne b15d38b54d Relegated a shitload of logging to DEBUG status.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1361 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-15 23:54:35 +00:00
Michael Bayne 52790799d2 Name changes; comment fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-26 02:34:11 +00:00
Michael Bayne e3fafb5b8c Exposed the mechanism for locking down client objects during a client
session so that fake sessions can effect their own locking.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1294 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-26 02:32:27 +00:00
Michael Bayne 2b6a4a1a5a Destroy the client object if we decide to unmap it because we're the only
ones that know that such an action is safe and we don't want stray client
objects lying around cluttering things up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1278 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 22:37:08 +00:00
Michael Bayne d635c003e2 Added getClient().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1277 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 20:46:43 +00:00
Walter Korman 4fc5f574d8 Added facility for enumerating the body objects for all active users on
the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 00:44:50 +00:00
Michael Bayne 76843dab59 Report the contents of the set when we try to update an element that's not
in it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1273 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 00:31:26 +00:00
Michael Bayne ef62581f7a Need a field marshaller for Integer fields.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1272 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-17 22:45:32 +00:00
Michael Bayne 496732db3a Automatically generate a failure response if an invocation provider method
throws ServiceFailedException. The response for a service request named
<foo> would be <foo>Failed. The response has a single argument which is
the reason string provided by the ServiceFailedException. We were doing
this by hand all over the place, and now it will be handled automatically.
Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-17 18:20:04 +00:00
Michael Bayne 6df0ef6172 We need to do some fiddling when the invocation director is used on the
server by entities that are vaguely impersonating a client. Specifically
they need to fill in the event's source oid because their events are not
going through the client networking layer which takes care of filling that
in for real clients.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-16 21:37:23 +00:00
Walter Korman a97e9db978 Moved remaining client.*Codes classes into their respective data packages
as they are intended to represent codes shared between the client and the
server.  Made correspondingly necessary changes throughout.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1240 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 16:28:05 +00:00
Michael Bayne 5379787dc5 Made postEvent() public so that external entities can add events (like
message events) to a transaction already started on a particular object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1233 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-12 00:00:05 +00:00
Michael Bayne 462724f82d Log a stack trace per Walter's suggestion.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1231 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-11 01:41:04 +00:00