mrpin-amf 2.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/README.rdoc +52 -0
- data/Rakefile +59 -0
- data/benchmark.rb +86 -0
- data/doc/amf3-speification.pdf +0 -0
- data/ext/rocketamf_ext/class_mapping.c +483 -0
- data/ext/rocketamf_ext/constants.h +52 -0
- data/ext/rocketamf_ext/deserializer.c +776 -0
- data/ext/rocketamf_ext/deserializer.h +28 -0
- data/ext/rocketamf_ext/extconf.rb +18 -0
- data/ext/rocketamf_ext/remoting.c +184 -0
- data/ext/rocketamf_ext/rocketamf_ext.c +38 -0
- data/ext/rocketamf_ext/serializer.c +834 -0
- data/ext/rocketamf_ext/serializer.h +29 -0
- data/ext/rocketamf_ext/utility.h +4 -0
- data/lib/amf/common/hash_with_type.rb +20 -0
- data/lib/amf/ext.rb +22 -0
- data/lib/amf/pure/amf_constants.rb +42 -0
- data/lib/amf/pure/deserializer.rb +354 -0
- data/lib/amf/pure/errors/all_files.rb +2 -0
- data/lib/amf/pure/errors/amf_error.rb +5 -0
- data/lib/amf/pure/errors/amf_error_incomplete.rb +5 -0
- data/lib/amf/pure/helpers/all_files.rb +8 -0
- data/lib/amf/pure/helpers/cache_objects.rb +18 -0
- data/lib/amf/pure/helpers/cache_strings.rb +14 -0
- data/lib/amf/pure/helpers/io_helper_base.rb +19 -0
- data/lib/amf/pure/helpers/io_helper_read.rb +67 -0
- data/lib/amf/pure/helpers/io_helper_write.rb +49 -0
- data/lib/amf/pure/mapping/class_mapper.rb +159 -0
- data/lib/amf/pure/mapping/mapping_set.rb +49 -0
- data/lib/amf/pure/serializer.rb +318 -0
- data/lib/amf/pure.rb +16 -0
- data/lib/amf.rb +140 -0
- data/mrpin-amf.gemspec +24 -0
- data/spec/fixtures/objects/complex/amf3-associative-array.bin +1 -0
- data/spec/fixtures/objects/complex/amf3-byte-array.bin +0 -0
- data/spec/fixtures/objects/complex/amf3-date.bin +0 -0
- data/spec/fixtures/objects/complex/amf3-dictionary.bin +0 -0
- data/spec/fixtures/objects/complex/amf3-dynamic-object.bin +2 -0
- data/spec/fixtures/objects/complex/amf3-empty-array.bin +1 -0
- data/spec/fixtures/objects/complex/amf3-empty-dictionary.bin +0 -0
- data/spec/fixtures/objects/complex/amf3-hash.bin +2 -0
- data/spec/fixtures/objects/complex/amf3-mixed-array.bin +10 -0
- data/spec/fixtures/objects/complex/amf3-primitive-array.bin +1 -0
- data/spec/fixtures/objects/complex/amf3-typed-object.bin +2 -0
- data/spec/fixtures/objects/encoding/amf3-complex-encoded-string-array.bin +1 -0
- data/spec/fixtures/objects/encoding/amf3-encoded-string-ref.bin +0 -0
- data/spec/fixtures/objects/references/amf3-array-ref.bin +1 -0
- data/spec/fixtures/objects/references/amf3-byte-array-ref.bin +1 -0
- data/spec/fixtures/objects/references/amf3-date-ref.bin +0 -0
- data/spec/fixtures/objects/references/amf3-empty-array-ref.bin +1 -0
- data/spec/fixtures/objects/references/amf3-empty-string-ref.bin +1 -0
- data/spec/fixtures/objects/references/amf3-graph-member.bin +0 -0
- data/spec/fixtures/objects/references/amf3-object-ref.bin +0 -0
- data/spec/fixtures/objects/references/amf3-string-ref.bin +0 -0
- data/spec/fixtures/objects/references/amf3-trait-ref.bin +3 -0
- data/spec/fixtures/objects/simple/amf3-0.bin +0 -0
- data/spec/fixtures/objects/simple/amf3-bigNum.bin +0 -0
- data/spec/fixtures/objects/simple/amf3-false.bin +1 -0
- data/spec/fixtures/objects/simple/amf3-float.bin +0 -0
- data/spec/fixtures/objects/simple/amf3-large-max.bin +0 -0
- data/spec/fixtures/objects/simple/amf3-large-min.bin +0 -0
- data/spec/fixtures/objects/simple/amf3-max.bin +1 -0
- data/spec/fixtures/objects/simple/amf3-min.bin +0 -0
- data/spec/fixtures/objects/simple/amf3-null.bin +1 -0
- data/spec/fixtures/objects/simple/amf3-string.bin +1 -0
- data/spec/fixtures/objects/simple/amf3-symbol.bin +1 -0
- data/spec/fixtures/objects/simple/amf3-true.bin +1 -0
- data/spec/helpers/class_mapping_test.rb +4 -0
- data/spec/helpers/class_mapping_test2.rb +3 -0
- data/spec/helpers/fixtures.rb +34 -0
- data/spec/helpers/other_class.rb +4 -0
- data/spec/helpers/ruby_class.rb +4 -0
- data/spec/helpers/test_ruby_class.rb +4 -0
- data/spec/spec-class_mapping.rb +98 -0
- data/spec/spec_deserializer.rb +239 -0
- data/spec/spec_fast_class_mapping.rb +147 -0
- data/spec/spec_helper.rb +8 -0
- data/spec/spec_serializer.rb +267 -0
- metadata +146 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
// AMF0 Type Markers
|
2
|
+
#define AMF0_NUMBER_MARKER 0x00
|
3
|
+
#define AMF0_BOOLEAN_MARKER 0x01
|
4
|
+
#define AMF0_STRING_MARKER 0x02
|
5
|
+
#define AMF0_OBJECT_MARKER 0x03
|
6
|
+
#define AMF0_MOVIE_CLIP_MARKER 0x04
|
7
|
+
#define AMF0_NULL_MARKER 0x05
|
8
|
+
#define AMF0_UNDEFINED_MARKER 0x06
|
9
|
+
#define AMF0_REFERENCE_MARKER 0x07
|
10
|
+
#define AMF0_HASH_MARKER 0x08
|
11
|
+
#define AMF0_OBJECT_END_MARKER 0x09
|
12
|
+
#define AMF0_STRICT_ARRAY_MARKER 0x0A
|
13
|
+
#define AMF0_DATE_MARKER 0x0B
|
14
|
+
#define AMF0_LONG_STRING_MARKER 0x0C
|
15
|
+
#define AMF0_UNSUPPORTED_MARKER 0x0D
|
16
|
+
#define AMF0_RECORDSET_MARKER 0x0E
|
17
|
+
#define AMF0_XML_MARKER 0x0F
|
18
|
+
#define AMF0_TYPED_OBJECT_MARKER 0x10
|
19
|
+
#define AMF0_AMF3_MARKER 0x11
|
20
|
+
|
21
|
+
// AMF3 Type Markers
|
22
|
+
#define AMF3_UNDEFINED_MARKER 0x00
|
23
|
+
#define AMF3_NULL_MARKER 0x01
|
24
|
+
#define AMF3_FALSE_MARKER 0x02
|
25
|
+
#define AMF3_TRUE_MARKER 0x03
|
26
|
+
#define AMF3_INTEGER_MARKER 0x04
|
27
|
+
#define AMF3_DOUBLE_MARKER 0x05
|
28
|
+
#define AMF3_STRING_MARKER 0x06
|
29
|
+
#define AMF3_XML_DOC_MARKER 0x07
|
30
|
+
#define AMF3_DATE_MARKER 0x08
|
31
|
+
#define AMF3_ARRAY_MARKER 0x09
|
32
|
+
#define AMF3_OBJECT_MARKER 0x0A
|
33
|
+
#define AMF3_XML_MARKER 0x0B
|
34
|
+
#define AMF3_BYTE_ARRAY_MARKER 0x0C
|
35
|
+
#define AMF3_VECTOR_INT_MARKER 0x0D
|
36
|
+
#define AMF3_VECTOR_UINT_MARKER 0x0E
|
37
|
+
#define AMF3_VECTOR_DOUBLE_MARKER 0x0F
|
38
|
+
#define AMF3_VECTOR_OBJECT_MARKER 0x10
|
39
|
+
#define AMF3_DICT_MARKER 0x11
|
40
|
+
|
41
|
+
// Other AMF3 Markers
|
42
|
+
#define AMF3_EMPTY_STRING 0x01
|
43
|
+
#define AMF3_DYNAMIC_OBJECT 0x0B
|
44
|
+
#define AMF3_CLOSE_DYNAMIC_OBJECT 0x01
|
45
|
+
#define AMF3_CLOSE_DYNAMIC_ARRAY 0x01
|
46
|
+
|
47
|
+
// Other Constants
|
48
|
+
#define MAX_INTEGER 268435455
|
49
|
+
#define MIN_INTEGER -268435456
|
50
|
+
#define INITIAL_STREAM_LENGTH 128 // Initial buffer length for serializer output
|
51
|
+
#define MAX_STREAM_LENGTH 10*1024*1024 // Let's cap it at 10MB for now
|
52
|
+
#define MAX_ARRAY_PREALLOC 100000
|