Commit Graph

18 Commits

Author SHA1 Message Date
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 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 b903087fa9 Crap.
My change to ClassUtil broke this when serializing
ByteArrays and such from a sub ApplicationDomain.
Jesus this stuff is annoying.
I have no idea why it's not the same Class when you
create a standard flash library class from within a sub AppDom.
But let's go ahead and check the object by name, then.
Hopefully this doesn't break something ELSE.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 23:12:17 +00:00
Michael Bayne 8426349a19 Ze lines must be wrapped lines at 100 columns or zere vill be punishment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 09:34:38 +00:00
Bruno Garcia 783ceaf951 Added optional maxLength param to validateAndEncode.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5143 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-30 02:05:04 +00:00
Par Winzell c4b95d953f This isn't used, and I'd rather not have to implement it pointlessly in Tamarin.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5079 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-11 21:44:51 +00:00
Ray Greenwell 6559b163ed This only need to be unique, not meaningful.
(And yes, code running in a security boundary cannot set aliases, thank god)
Network traffic--.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4987 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-01 02:02:34 +00:00
Ray Greenwell 766643c702 Tested and verified Dictionaries.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4986 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-01 01:50:23 +00:00
Ray Greenwell 49b893d933 Good news, it appears that flash blocks things in another security domain
from screwing with our registered aliases. This might make points and
rectangles work.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4978 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-22 01:41:15 +00:00
Ray Greenwell 933183a53a Revert.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4976 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-19 07:37:41 +00:00
Par Winzell 51bb4d8e92 I am tentatively meddling with Ray's code because pointer comparison on the class fails for objects that are instantiated... elsewhere. Different application domain? Testing on the full class name ought to be safe.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4973 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-19 07:25:36 +00:00
Ray Greenwell 76f77b9748 Support Dictionary, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4972 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-18 22:13:53 +00:00
Ray Greenwell 783ea0d166 - use isPlainObject()
- support Point and Rectangle.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4971 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-18 22:01:49 +00:00
Ray Greenwell 5cbc654b13 Hm, this wasn't validating the values inside objects. Fixed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4942 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-21 02:28:59 +00:00
Nathan Curtis 57421c8a58 There are many ways I could rant about this, but I'm going to try to keep it short and
informative (and clean ><)...

While testing the ability to go straight to someone in a game from My Whirled, I was getting 
decoding streaming problems (but only sometimes) when fetching the game data.  After many hours
of looking for the problem and swearing up and down that it was nothing but consistent, malicious 
bitrot, I've tracked it down to this.

In Underwhirled Drift (which is the game I was testing this on), I have a couple of property arrays
that get set when the game is first started up with this:

    _control.set(PLAYER_STATE, new Array(numPlayers));

This allows me to fill in the proper indices at a later time in random order.  This was working
fine for multi-player games, and after what I've discovered here, I think I can get away with 
something simpler, but that can wait for later.

When this was getting encoded, the expected effect would be to encode a TypedArray with a null
in each spot that is defined in the source array (numPlayers long).  In fact, it was creating an
empty, zero length TypedArray.  I'm not sure why - but that was confusing the system somewhere
along the line so that when that set of bytes was read back from the server on another client 
(for instance, when fetching the EZGameObject when trying to join an in-progress game).  Of course,
zero-length TypedArrays should go over the wire just fine, so I'm not entirely convinced that I've
tracked down the entire problem (or if that is in fact the issue, then it needs to be addressed).

The diffs here will cause the encoding and decoding to correctly pull nulls out of the array, and 
put them in the TypedArray.  The moral of this story is to watch out for this construct:

    for each (var obj :Object in arr) {
    }

...it may not always be doing what you would rightfully expect...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4827 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-18 23:29:49 +00:00
Ray Greenwell ecefdcac85 ObjectMarshaller, formerly EZObjectMarshaller in vilya + some value validation code
that was actually in GameControlBackend.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-06 22:26:00 +00:00