Commit Graph

7 Commits

Author SHA1 Message Date
Ray Greenwell 6179c74b29 Utilize Util.equals() to compare ByteArrays.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 22:20:20 +00:00
Robert Zubeck 59086147e6 A signed 64-bit integer can be stored as two 32-bit integers in Actionscript, but converting
them to a single number becomes inconvenient for values larger than an single int, and tricky 
when the value is negative (i.e. in two's complement split into two words, with sign bit only
in the high int). 

Instead of splitting a long into two ints, we store it internally as a byte array that corresponds 
exactly to Java's serialized version (sequence of eight bytes, high byte first), and we provide 
accessors to convert to and from Actionscript numbers. This makes Java Long values readable in 
Actionscript, and vice versa.

Unfortunately, Actionscript does not have a native 64-bit integer - the closest equivalent is the 
Number class. Since this is a double float with a 52-bit mantissa, very large long values will 
suffer precision loss during conversion. 




git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-10 20:49:03 +00:00
Michael Bayne 09f0bee0f3 Yet more header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-24 00:39:27 +00:00
Ray Greenwell 69ea4f349f Auto-unwrap invocation response arguments as well.
Make Long not wrapped for now.
Don't svn update until after mdb regenerates everything..


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4569 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-12 21:49:21 +00:00
Ray Greenwell ed1f43bdfc Fixed up a number of TODOs; created a new Wrapped interface to simplify
auto-unwrapping.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4286 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-24 19:53:24 +00:00
Ray Greenwell 459f12ded5 Copy Java's valueOf factory method for primitive wrapper classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4217 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-24 23:03:07 +00:00
Ray Greenwell a91bf8b14c Added some missing marshallers.
Use Long instead of long. I had them both (it may be useful so that we
know if we're streaming an object or just 8 bytes of value) but Windows
couldn't fucking tell them apart (case insensitivity) so I nixed one.
Reference some more marshallers in the client so that the classes will
be compiled in.. gawd.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3977 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-24 23:49:51 +00:00