Ray Greenwell
9f920ae527
Added a note for Future Ray.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-19 22:13:24 +00:00
Ray Greenwell
7be46ee045
This all seems to work, so let's tidy it up.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5605 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-15 19:39:49 +00:00
Par Winzell
fb4a28b2ed
Give Bureaus their own client object subclass. It does nothing at the moment, but we need it to be a distinct type for access control purposes.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5600 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-12 15:36:46 +00:00
Jamie Doornbos
1052aa86ec
readUTF?
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5599 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 20:01:46 +00:00
Par Winzell
0cfc7fcc9e
Turn debugging off again. Whew.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5598 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 19:53:16 +00:00
Par Winzell
31388566f6
Turn on streaming I/O debugging long enough to get better debugging data on the development server. Will be flipped back ASAP.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5597 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-11 19:35:25 +00:00
Ray Greenwell
df5f5ace27
Cut client latency by attempting to send upstream messages
...
immediately.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5592 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-10 21:41:10 +00:00
Ray Greenwell
7c979eb436
Logging varagification, associated stack traces.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5587 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-10 01:05:41 +00:00
Ray Greenwell
a3e1c6e09e
Fixup.
...
If there's an error when calling the callback function,
we were assuming it was an argument-related error and trying again.
However, this is sorta bad behavior as we don't want to call
twice into a callback. In the case I was seeing, the first time
in caused an NPE, but popped up a panel, and the second try
was no-opping because the panel was already up (but misconfigured).
So: don't even try a second call, because it looks like
flash will accept args to an argless function.
We'll have to try this out for a while and see if it works.
If so, I can neaten this code. If not, I'll uncomment
some of this and try a more surgical approach (only catch
ArgumentError, only retry if we had 1 boolean arg.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5585 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-09 23:23:15 +00:00
Ray Greenwell
5f69af762d
Reorder the args to these adapters: success is first now, followed by failure.
...
This has been wacked-out like this ever since I first wacked it out.
Since the base class is ResultAdapter and it only takes failure, and the
'processed' function for ConfirmAdapter is optional, it seemed to make
sense this way.
But, we have another ResultAdapter (for non-invocation ResultListener)
and it expects success first.
So Mike noticed this today (I swear there was a big brouhaha about this
over the summer) and beat me with my own rubber chicken.
I'm not sure why I had a mental block about reordering, but let's do it!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5583 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-09 02:20:48 +00:00
Nathan Curtis
34d2833580
Enums can safely be used as Dictionary keys, and should therefore pass the isSimple() test.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5581 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-06 00:39:05 +00:00
Ray Greenwell
e649880f90
Allow a message to be passed to happy testing dumpStack()
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5566 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-20 19:48:47 +00:00
Par Winzell
13c9f01b6e
Go go invisible unicode characters.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5562 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-19 17:24:01 +00:00
Par Winzell
5d769cbf5f
So, Flash CS4's internal compiler chokes on public class that implements an interface, when it's followed by faux-inner-classes after the main package declaration. This is the only workaround I can think of; pray god Adobe fixes their stuff soon and we can revert this irritating patch.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5561 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-19 15:14:29 +00:00
Jamie Doornbos
79f5a17600
Oops, stray debug line got left in
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5549 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-14 01:51:28 +00:00
Jamie Doornbos
71af5514da
Be nicely behaved if the user manages to close the client before the socket is opened
...
* Use _writer != null iff the socket is open and the authrequest has been sent
* Warn when posting messages prior to socket connect
* Clear the outgoing queue prior to sending the auth request, the servers authing connection expects this
* If a logoff is encountered prior to the socket opening, just shut down without sending auth request
* Driveby unused variable removal
This should fix the log warning "AuthingConnection$1: Received non-authreq message during authentication process"
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5548 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-14 01:49:58 +00:00
Michael Bayne
ca2dc8dc4a
Don't start our writer thread until we know our socket is connected and ready
...
to send data.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5544 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-12 00:32:54 +00:00
Michael Bayne
c62cf6ba6f
Don't start our tick interval until we've successfully logged on. There's no
...
utility in sending pings before we're authenticated.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5543 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-12 00:30:35 +00:00
Tom Conkling
96ae821e58
ArrayUtil.removeFirstIf(), removeLastIf(), removeAllIf() predicate-based removal functions
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5533 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-11 00:22:26 +00:00
Ray Greenwell
a9f7175d2f
Removed unused import.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5507 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-05 23:13:08 +00:00
Ray Greenwell
ff20abf27d
Fixed parameter reading on Windows.
...
(We are parsing a URL, and even though it represents a file, it's still
a URL, so it uses the standard slash and not the microsoft slash.)
This will make SDK testing work on Windows.
We suck a lot for not fixing this sooner, but
- I didn't have Windows set up for development.
- It was broken for so long, we deprioritized and then sorta forgot about it.
This has been broken for over 5 months, when I last touched this file
to make it work on Macs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5506 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-05 23:11:49 +00:00
Par Winzell
1a467468ff
Don't fill the array with zeroes when we reinitialize the Throttle with the same number of operations as we already had, as that allows a potentially dangerous burst of operations.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5505 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-05 17:17:41 +00:00
Par Winzell
bb670e14a8
When we reinitialize the Throttle with a smaller number of allowed operations within a time period, we should preserve the oldest rather than the newest ones, or we'll most likely be in immediate and unfair violation of the limit.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5504 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-05 00:21:17 +00:00
Ray Greenwell
2a6940363d
Rollback r5502.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5503 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 21:42:18 +00:00
Tom Conkling
b9245e9be8
In keeping with Adobe's convention, Set and Map's forEach() function takes an optional 'thisObject' param
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5502 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 20:21:26 +00:00
Par Winzell
4bc5627d82
Let's have Set implement forEach, like Map does.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5500 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 18:21:29 +00:00
Jamie Doornbos
14755a6cea
Fixed fundamental flaw with throttling code. Changed the client to adjust its message rate when it actually sends the throttle updated message. Otherwise the client starts sending at the new rate before the server knows about it. Keep the messages per second in the message.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5499 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 08:37:13 +00:00
Jamie Doornbos
ed002196b0
Missed a line from the previous change. Added comment for new ArrayUtil method
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5498 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 08:33:05 +00:00
Jamie Doornbos
4633684fb6
Copied code from java implementation of Throttle.reinit(). After testing, I found this method was leaving older values in the middle of younger values
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5497 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-04 06:41:00 +00:00
Jamie Doornbos
0cb3330de7
Refix for long running clients (r5483). I must have introduced this at the last minute when switching my original -32768 to use Short.MIN_VALUE instead, forgetting to remove the negation
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5490 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-03 19:26:57 +00:00
Jamie Doornbos
055ae0cc98
Allow bureau clients to report fatal errors if something goes wrong, like oh I don't know... maybe a disconnection perhaps
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5489 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-01 00:31:53 +00:00
Jamie Doornbos
ed0718674e
Fixed bug with long running clients. The results for invocation requests with ids exceeding Short.MAX_VALUE could not be processed due to the id being deserialized as a short but stored in the map with an integer key.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5483 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-30 17:15:42 +00:00
Jamie Doornbos
b9ab203c0c
Fixed Throttle bug causing any increase in the number of operations to block all message throughput. Fix prevents copying from negative indices of _ops. This caused a NaN entry which always resulted in an effective age of 0 regardless of getTimer(), causing a permanent state of throttling
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5475 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-28 18:00:55 +00:00
Jamie Doornbos
d9f5328f1c
Fixed recent breakage of actionscript bureaus. Apparently tamarin does not like constant members assigned in a base class? Weird but plausible if it (buggily) sets up all members of a class and assigns defaults values before constructing bases.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5470 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-27 07:54:38 +00:00
Ray Greenwell
d9aee80a12
Killed bureau.Log.
...
We never did things like that in actionscript,
and that pattern is now deprecated on the Java side as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5463 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-25 01:36:18 +00:00
Ray Greenwell
5216602e63
Change how we link classes that aren't otherwise linked.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5462 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-25 01:24:13 +00:00
Ray Greenwell
3a457a2479
Muting for actionscript.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5460 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-24 21:20:43 +00:00
Ray Greenwell
f8e4911266
Might as well make our actionscript trim() null tolerant as well.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5454 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-23 21:00:08 +00:00
Ray Greenwell
a0771dce79
- Added a primitive formatNumber()
...
- Handle commas in parseNumber()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5449 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-16 20:54:53 +00:00
Nathan Curtis
24b5b905e1
A couple of example usage fixes.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5442 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-14 21:06:28 +00:00
Jamie Doornbos
077c5e8053
At Ray's suggestion, go ahead and throw an error when the wrong type is read. Use the Type(obj) cast syntax (I was unaware that this would actually throw an error). Reading objects of a basic type like Array must still use "readObject(Array) as Array" so this is still supported, though not needed for user types.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5441 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-13 17:34:55 +00:00
Jamie Doornbos
2b298aa3d5
Pass in the expected type to readObject anywhere the code would clearly convert the wrong type to null anyway
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5440 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-11 06:28:50 +00:00
Jamie Doornbos
a3cc67348e
Gah, this was part of the implementation, but in the end I took it out but missed the import
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5439 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-11 06:21:54 +00:00
Jamie Doornbos
e12ff0e9f3
Optional type checking for readObject
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5438 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-11 06:06:06 +00:00
Jamie Doornbos
a99238faf8
Fixed username member for actionscript. Serialization was completely hosed
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5437 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-11 05:17:40 +00:00
Michael Bayne
a4a25674ce
Outgoing message throttle for ActionScript. This uses a timer rather than a
...
frame listener so that it has a chance of working out of the box on Thane.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5432 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-10 17:27:47 +00:00
Ray Greenwell
19ac92f624
We've got a utility method for filling an array with an initial value.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5430 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-09 23:20:29 +00:00
Michael Bayne
b7214df1c2
We need our array to be filled with zeros, not undefineds.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5429 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-09 22:08:47 +00:00
Michael Bayne
9f2682a5e4
All of the ActionScript side of adjustable outgoing message rate throttling
...
except the actual throttling part. Need to think about a good way to do this
without blocking the whole client when we hit the throttle.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5428 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-09 20:18:12 +00:00
Jamie Doornbos
3bbd9da353
Fixed spurious warnings about sockets on bureau shut down:
...
* socketClosed was issuing a warning, presumably because whirled doesn't normally disconnect flash client. Anyway, seems like overkill since the server can disconnect whenever it choosed
* Accoring to adobe, calling Socket.close after the Socket.close event should throw an IOError. Thane holds to this, while flash apparently does not. Make our code neutral by checking for connected prior to calling close
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5415 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-07 16:06:45 +00:00