Commit Graph

404 Commits

Author SHA1 Message Date
Ray Greenwell e7dbda821d Removed pointless 8-char optimization.
Now it is more useful for this to hash identically as in Java.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5753 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-28 01:14:01 +00:00
Ray Greenwell 9a50e5f791 Added compare().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-28 00:07:25 +00:00
Tom Conkling eb4b8674af ArrayUtil.sortedInsert
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5746 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-26 20:34:29 +00:00
Ray Greenwell f03caf98fe Use Util.adapt(). Look at this functional programming masterpiece.
I'm not sure how much actual utility is here, and how much I just like the
gee-whiz factor.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5731 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 21:27:35 +00:00
Ray Greenwell 62fb546f27 Check this out. This little buddy rocks.
I sorta want to make a new FunctionUtil so that I can use it
with impunity everwhere without having to include the other crap in here.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5730 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 21:23:23 +00:00
Ray Greenwell bb87184632 Should resolve infinite recursion with SortedHashMap.
Tip from the pros: when you change a class, you might want to check
the subclasses for possible problems with that change.
:P


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 20:01:01 +00:00
Ray Greenwell 96bdaf9f1f Allow XML to be encoded.
Let's try it and see if it works. Let us know Nathan.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-17 01:06:00 +00:00
Ray Greenwell d354d951b8 Small tweaks. Apply directly to the nipples.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 23:00:36 +00:00
Ray Greenwell cbbd1f281d WeakValueHashMap. Apply directly to the ...
I hate your checkin comments, but I love your product!

The real reason I cleaned up HashMap: I override
forEach(), and now I don't need to do anything to make values() and keys()
work properly for weak values. Less code is better code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 22:55:40 +00:00
Ray Greenwell dbf20bdc28 WeakReference. Apply directly to the forehead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 22:53:35 +00:00
Ray Greenwell 3300421741 - Use [] instead of "new Array()"
- Implement keys() and values() using forEach().
  - Less code is better code.
  - But, it's less efficient:
    - values() now looks up simple-key values by hashing
    - values() now unwraps non-simple keys, even though unneeded
    - keys() looks up simple-key values, even though unneeded

Say it with me like a 14-year-old girl: whatEVER!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5724 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-16 22:51:12 +00:00
Ray Greenwell 0f73afc492 This class is remarkably pointless.
We could trash it and change our toStringBuf() methods
to just return a String. I guess. Then the caller would
have to assign the string somewhere. I guess this has some value.

So anyway: Occam's razor, and fixes a small bug: appending undefined
would print as "null" since it was being forced to an Object first.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5722 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-15 20:25:26 +00:00
Ray Greenwell 305c53f53a These are breaking asdoc.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5721 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-15 18:52:15 +00:00
Ray Greenwell 021b5dab22 I swear I had made one of these way back when. Here it is again.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5716 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-14 01:40:14 +00:00
Ray Greenwell 52cedb5bdb Comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5692 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 21:00:38 +00:00
Ray Greenwell d46acc6bc4 Added createReverse(), and make comparators compatible with a flex Sort
object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5691 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 20:56:34 +00:00
Ray Greenwell 904be81707 Actually, let's only allow suppressing flushing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5690 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 00:30:27 +00:00
Ray Greenwell 195d764347 Allow flushing and notifying to be suppressed when a value is set.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5689 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-24 00:27:46 +00:00
Ray Greenwell af14e64c04 Moved these here functions to Util.
Immediately after writing them I considered that they didn't
really belong in ArrayUtil, since they don't operate on Arrays.
Util is better, since it's less specific.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5686 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-18 01:13:38 +00:00
Ray Greenwell aa0bb22527 Added keys() and values() to Array-ificate Object/Dictionary properties.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5679 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-05 01:03:06 +00:00
Ray Greenwell 1566d00c75 These should all be immutable.
Hopefully nothing was setting the values.
If so, maybe we'll see compile-time errors/warnings.
Maybe.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5677 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-03 22:30:15 +00:00
Ray Greenwell 07a42c7364 Added a note. It's not a complete adobe fuck-up, as it works in
test cases I've made, it just doesn't work in *other instances*,
which I haven't yet been able to control for.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5676 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-03 22:26:18 +00:00
Ray Greenwell 1b585febf9 Tighten this up a bit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5674 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-26 00:42:26 +00:00
Ray Greenwell 64b6df7dfa It's another "Jesus, really Adobe?" commit message!
Apparently they enhanced AMF3 encoding in flash 10. Dictionaries
seem to be encoded differently. I'm sure they thought that they
could sneak this in because it's backwards-compatible, but they
thought wrong. If a Flash 10 client encodes a Dictionary, it
can't be read by a flash 9 client because it's not forwards-compatible.

If you change the spec, you gotta change the version number, because
this shit might be persistent.

So: work around it. Might be sketchy. Let's keep an eye on it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5673 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-26 00:24:23 +00:00
Ray Greenwell ad09bec805 Allow whether we're persisting to be queried.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5672 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-25 04:39:56 +00:00
Ray Greenwell 63181c6fc1 Allow to be constructed in, and flipped between, storing
preferences or just providing a runtime place for them to live.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5671 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-25 04:33:55 +00:00
Ray Greenwell 302665c65a Added loadClasses(), for convenience of the common pattern of loading
stuff into an ApplicationDomain.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5658 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-18 19:38:55 +00:00
Tom Conkling bb9f068782 commentfix
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5650 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-02-06 21:24:41 +00:00
Ray Greenwell 02d97ddec1 Allow a preconfigured URLRequest to be passed in.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5646 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-01-30 00:12:22 +00:00
Ray Greenwell c7612ecb7d Apply Jamie's fix for negative numbers here on the actionscript side, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5607 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-12-30 20:25:51 +00:00
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
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
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
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 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 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
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