msgpack 0.6.0-x86-mswin32-60
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 +20 -0
- data/.travis.yml +26 -0
- data/ChangeLog +129 -0
- data/Dockerfile +62 -0
- data/LICENSE +177 -0
- data/README.rdoc +141 -0
- data/Rakefile +68 -0
- data/bench/pack.rb +23 -0
- data/bench/pack_log.rb +33 -0
- data/bench/pack_log_long.rb +65 -0
- data/bench/run.sh +14 -0
- data/bench/run_long.sh +35 -0
- data/bench/unpack.rb +21 -0
- data/bench/unpack_log.rb +34 -0
- data/bench/unpack_log_long.rb +67 -0
- data/doclib/msgpack.rb +77 -0
- data/doclib/msgpack/buffer.rb +193 -0
- data/doclib/msgpack/core_ext.rb +101 -0
- data/doclib/msgpack/error.rb +14 -0
- data/doclib/msgpack/packer.rb +134 -0
- data/doclib/msgpack/unpacker.rb +146 -0
- data/ext/java/org/msgpack/jruby/Buffer.java +221 -0
- data/ext/java/org/msgpack/jruby/Decoder.java +201 -0
- data/ext/java/org/msgpack/jruby/Encoder.java +308 -0
- data/ext/java/org/msgpack/jruby/ExtensionValue.java +136 -0
- data/ext/java/org/msgpack/jruby/MessagePackLibrary.java +107 -0
- data/ext/java/org/msgpack/jruby/Packer.java +78 -0
- data/ext/java/org/msgpack/jruby/Types.java +37 -0
- data/ext/java/org/msgpack/jruby/Unpacker.java +170 -0
- data/ext/msgpack/buffer.c +695 -0
- data/ext/msgpack/buffer.h +447 -0
- data/ext/msgpack/buffer_class.c +507 -0
- data/ext/msgpack/buffer_class.h +32 -0
- data/ext/msgpack/compat.h +114 -0
- data/ext/msgpack/core_ext.c +129 -0
- data/ext/msgpack/core_ext.h +26 -0
- data/ext/msgpack/extconf.rb +30 -0
- data/ext/msgpack/packer.c +168 -0
- data/ext/msgpack/packer.h +441 -0
- data/ext/msgpack/packer_class.c +302 -0
- data/ext/msgpack/packer_class.h +30 -0
- data/ext/msgpack/rbinit.c +33 -0
- data/ext/msgpack/rmem.c +94 -0
- data/ext/msgpack/rmem.h +109 -0
- data/ext/msgpack/sysdep.h +115 -0
- data/ext/msgpack/sysdep_endian.h +50 -0
- data/ext/msgpack/sysdep_types.h +46 -0
- data/ext/msgpack/unpacker.c +771 -0
- data/ext/msgpack/unpacker.h +122 -0
- data/ext/msgpack/unpacker_class.c +405 -0
- data/ext/msgpack/unpacker_class.h +32 -0
- data/lib/msgpack.rb +13 -0
- data/lib/msgpack/version.rb +3 -0
- data/msgpack.gemspec +31 -0
- data/msgpack.org.md +46 -0
- data/spec/cases.json +1 -0
- data/spec/cases.msg +0 -0
- data/spec/cases_compact.msg +0 -0
- data/spec/cases_spec.rb +39 -0
- data/spec/cruby/buffer_io_spec.rb +256 -0
- data/spec/cruby/buffer_packer.rb +29 -0
- data/spec/cruby/buffer_spec.rb +572 -0
- data/spec/cruby/buffer_unpacker.rb +19 -0
- data/spec/cruby/packer_spec.rb +120 -0
- data/spec/cruby/unpacker_spec.rb +305 -0
- data/spec/format_spec.rb +282 -0
- data/spec/jruby/benchmarks/shootout_bm.rb +73 -0
- data/spec/jruby/benchmarks/symbolize_keys_bm.rb +25 -0
- data/spec/jruby/msgpack/unpacker_spec.rb +290 -0
- data/spec/jruby/msgpack_spec.rb +142 -0
- data/spec/pack_spec.rb +67 -0
- data/spec/random_compat.rb +24 -0
- data/spec/spec_helper.rb +27 -0
- data/spec/unpack_spec.rb +60 -0
- metadata +208 -0
data/Rakefile
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
|
2
|
+
require 'bundler'
|
3
|
+
Bundler::GemHelper.install_tasks
|
4
|
+
|
5
|
+
require 'fileutils'
|
6
|
+
|
7
|
+
require 'rspec/core'
|
8
|
+
require 'rspec/core/rake_task'
|
9
|
+
require 'yard'
|
10
|
+
|
11
|
+
task :spec => :compile
|
12
|
+
|
13
|
+
desc 'Run RSpec code examples and measure coverage'
|
14
|
+
task :coverage do |t|
|
15
|
+
ENV['SIMPLE_COV'] = '1'
|
16
|
+
Rake::Task["spec"].invoke
|
17
|
+
end
|
18
|
+
|
19
|
+
desc 'Generate YARD document'
|
20
|
+
YARD::Rake::YardocTask.new(:doc) do |t|
|
21
|
+
t.files = ['lib/msgpack/version.rb','doclib/**/*.rb']
|
22
|
+
t.options = []
|
23
|
+
t.options << '--debug' << '--verbose' if $trace
|
24
|
+
end
|
25
|
+
|
26
|
+
spec = eval File.read("msgpack.gemspec")
|
27
|
+
|
28
|
+
if RUBY_PLATFORM =~ /java/
|
29
|
+
require 'rake/javaextensiontask'
|
30
|
+
|
31
|
+
Rake::JavaExtensionTask.new('msgpack', spec) do |ext|
|
32
|
+
ext.ext_dir = 'ext/java'
|
33
|
+
jruby_home = RbConfig::CONFIG['prefix']
|
34
|
+
jars = ["#{jruby_home}/lib/jruby.jar"]
|
35
|
+
ext.classpath = jars.map { |x| File.expand_path(x) }.join(':')
|
36
|
+
ext.lib_dir = File.join(*['lib', 'msgpack', ENV['FAT_DIR']].compact)
|
37
|
+
ext.source_version = '1.6'
|
38
|
+
ext.target_version = '1.6'
|
39
|
+
end
|
40
|
+
|
41
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
42
|
+
t.rspec_opts = ["-c", "-f progress"]
|
43
|
+
t.rspec_opts << "-Ilib"
|
44
|
+
t.pattern = 'spec/{,jruby/}*_spec.rb'
|
45
|
+
t.verbose = true
|
46
|
+
end
|
47
|
+
|
48
|
+
else
|
49
|
+
require 'rake/extensiontask'
|
50
|
+
|
51
|
+
Rake::ExtensionTask.new('msgpack', spec) do |ext|
|
52
|
+
ext.ext_dir = 'ext/msgpack'
|
53
|
+
ext.cross_compile = true
|
54
|
+
ext.lib_dir = File.join(*['lib', 'msgpack', ENV['FAT_DIR']].compact)
|
55
|
+
ext.cross_platform = ['i386-mswin32-60', 'x64-mingw32']
|
56
|
+
end
|
57
|
+
|
58
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
59
|
+
t.rspec_opts = ["-c", "-f progress"]
|
60
|
+
t.rspec_opts << "-Ilib"
|
61
|
+
t.pattern = 'spec/{,cruby/}*_spec.rb'
|
62
|
+
t.verbose = true
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
CLEAN.include('lib/msgpack/msgpack.*')
|
67
|
+
|
68
|
+
task :default => [:spec, :build, :doc]
|
data/bench/pack.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'viiite'
|
2
|
+
require 'msgpack'
|
3
|
+
|
4
|
+
data = { 'hello' => 'world', 'nested' => ['structure', {value: 42}] }
|
5
|
+
data_sym = { hello: 'world', nested: ['structure', {value: 42}] }
|
6
|
+
|
7
|
+
data = MessagePack.pack(:hello => 'world', :nested => ['structure', {:value => 42}])
|
8
|
+
|
9
|
+
Viiite.bench do |b|
|
10
|
+
b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
|
11
|
+
b.report(:strings) do
|
12
|
+
runs.times do
|
13
|
+
MessagePack.pack(data)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
b.report(:symbols) do
|
18
|
+
runs.times do
|
19
|
+
MessagePack.pack(data_sym)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/bench/pack_log.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'viiite'
|
2
|
+
require 'msgpack'
|
3
|
+
|
4
|
+
data_plain = { 'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"' }
|
5
|
+
data_structure = {
|
6
|
+
'remote_host' => '127.0.0.1',
|
7
|
+
'remote_user' => '-',
|
8
|
+
'date' => '10/Oct/2000:13:55:36 -0700',
|
9
|
+
'request' => 'GET /apache_pb.gif HTTP/1.0',
|
10
|
+
'method' => 'GET',
|
11
|
+
'path' => '/apache_pb.gif',
|
12
|
+
'protocol' => 'HTTP/1.0',
|
13
|
+
'status' => 200,
|
14
|
+
'bytes' => 2326,
|
15
|
+
'referer' => 'http://www.example.com/start.html',
|
16
|
+
'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
|
17
|
+
}
|
18
|
+
|
19
|
+
Viiite.bench do |b|
|
20
|
+
b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
|
21
|
+
b.report(:plain) do
|
22
|
+
runs.times do
|
23
|
+
MessagePack.pack(data_plain)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
b.report(:structure) do
|
28
|
+
runs.times do
|
29
|
+
MessagePack.pack(data_structure)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# viiite report --regroup bench,threads bench/pack_log_long.rb
|
2
|
+
|
3
|
+
require 'viiite'
|
4
|
+
require 'msgpack'
|
5
|
+
|
6
|
+
data_plain = { 'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"' }
|
7
|
+
data_structure = {
|
8
|
+
'remote_host' => '127.0.0.1',
|
9
|
+
'remote_user' => '-',
|
10
|
+
'date' => '10/Oct/2000:13:55:36 -0700',
|
11
|
+
'request' => 'GET /apache_pb.gif HTTP/1.0',
|
12
|
+
'method' => 'GET',
|
13
|
+
'path' => '/apache_pb.gif',
|
14
|
+
'protocol' => 'HTTP/1.0',
|
15
|
+
'status' => 200,
|
16
|
+
'bytes' => 2326,
|
17
|
+
'referer' => 'http://www.example.com/start.html',
|
18
|
+
'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
|
19
|
+
}
|
20
|
+
|
21
|
+
seconds = 3600 # 1 hour
|
22
|
+
|
23
|
+
Viiite.bench do |b|
|
24
|
+
b.range_over([1, 2, 4, 8, 16], :threads) do |threads|
|
25
|
+
b.report(:plain) do
|
26
|
+
ths = []
|
27
|
+
end_at = Time.now + seconds
|
28
|
+
threads.times do
|
29
|
+
t = Thread.new do
|
30
|
+
packs = 0
|
31
|
+
while Time.now < end_at
|
32
|
+
10000.times do
|
33
|
+
MessagePack.pack(data_plain)
|
34
|
+
end
|
35
|
+
packs += 10000
|
36
|
+
end
|
37
|
+
packs
|
38
|
+
end
|
39
|
+
ths.push t
|
40
|
+
end
|
41
|
+
sum = ths.reduce(0){|r,t| r + t.value }
|
42
|
+
puts "MessagePack.pack, plain, #{threads} threads: #{sum} times, #{sum / seconds} times/second."
|
43
|
+
end
|
44
|
+
|
45
|
+
b.report(:structure) do
|
46
|
+
ths = []
|
47
|
+
end_at = Time.now + seconds
|
48
|
+
threads.times do
|
49
|
+
t = Thread.new do
|
50
|
+
packs = 0
|
51
|
+
while Time.now < end_at
|
52
|
+
10000.times do
|
53
|
+
MessagePack.pack(data_structure)
|
54
|
+
end
|
55
|
+
packs += 10000
|
56
|
+
end
|
57
|
+
packs
|
58
|
+
end
|
59
|
+
ths.push t
|
60
|
+
end
|
61
|
+
sum = ths.reduce(0){|r,t| r + t.value }
|
62
|
+
puts "MessagePack.pack, structured, #{threads} threads: #{sum} times, #{sum / seconds} times/second."
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
data/bench/run.sh
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# prerequisites
|
4
|
+
# $ rbenv shell 2.2.1 (or jruby-x.x.x or ...)
|
5
|
+
# $ rake install
|
6
|
+
|
7
|
+
echo "pack"
|
8
|
+
viiite report --regroup bench,runs bench/pack.rb
|
9
|
+
echo "unpack"
|
10
|
+
viiite report --regroup bench,runs bench/unpack.rb
|
11
|
+
echo "pack log"
|
12
|
+
viiite report --regroup bench,runs bench/pack_log.rb
|
13
|
+
echo "unpack log"
|
14
|
+
viiite report --regroup bench,runs bench/unpack_log.rb
|
data/bench/run_long.sh
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# prerequisites
|
4
|
+
# $ sudo apt-get install sysstat
|
5
|
+
# $ rbenv shell 2.2.1 (or jruby-x.x.x or ...)
|
6
|
+
# $ rake install
|
7
|
+
|
8
|
+
# 60 * 600 : 60*60 * 5[threads] * 2[bench]
|
9
|
+
|
10
|
+
ruby -v
|
11
|
+
|
12
|
+
echo "pack log long"
|
13
|
+
viiite report --regroup bench,threads bench/pack_log_long.rb &
|
14
|
+
sar -o pack_log_long.sar -r 60 600 > /dev/null 2>&1 &
|
15
|
+
|
16
|
+
declare -i i=0
|
17
|
+
while [ $i -lt 600 ]; do
|
18
|
+
ps auxww | grep ruby | grep -v grep | awk '{print $5,$6;}' >> pack_log_long.mem.txt
|
19
|
+
i=i+1
|
20
|
+
sleep 60
|
21
|
+
done
|
22
|
+
|
23
|
+
sleep 120 # cool down
|
24
|
+
|
25
|
+
echo "unpack log long"
|
26
|
+
viiite report --regroup bench,threads bench/unpack_log_long.rb &
|
27
|
+
sar -o unpack_log_long.sar -r 60 600 > /dev/null 2>&1 &
|
28
|
+
|
29
|
+
i=0
|
30
|
+
while [ $i -lt 600 ]; do
|
31
|
+
ps auxww | grep ruby | grep -v grep | awk '{print $5,$6;}' >> pack_log_long.mem.txt
|
32
|
+
i=i+1
|
33
|
+
sleep 60
|
34
|
+
done
|
35
|
+
|
data/bench/unpack.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'viiite'
|
2
|
+
require 'msgpack'
|
3
|
+
|
4
|
+
data = MessagePack.pack(:hello => 'world', :nested => ['structure', {:value => 42}])
|
5
|
+
|
6
|
+
Viiite.bench do |b|
|
7
|
+
b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
|
8
|
+
b.report(:strings) do
|
9
|
+
runs.times do
|
10
|
+
MessagePack.unpack(data)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
b.report(:symbols) do
|
15
|
+
options = {:symbolize_keys => true}
|
16
|
+
runs.times do
|
17
|
+
MessagePack.unpack(data, options)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/bench/unpack_log.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'viiite'
|
2
|
+
require 'msgpack'
|
3
|
+
|
4
|
+
data_plain = MessagePack.pack({ 'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"' })
|
5
|
+
|
6
|
+
data_structure = MessagePack.pack({
|
7
|
+
'remote_host' => '127.0.0.1',
|
8
|
+
'remote_user' => '-',
|
9
|
+
'date' => '10/Oct/2000:13:55:36 -0700',
|
10
|
+
'request' => 'GET /apache_pb.gif HTTP/1.0',
|
11
|
+
'method' => 'GET',
|
12
|
+
'path' => '/apache_pb.gif',
|
13
|
+
'protocol' => 'HTTP/1.0',
|
14
|
+
'status' => 200,
|
15
|
+
'bytes' => 2326,
|
16
|
+
'referer' => 'http://www.example.com/start.html',
|
17
|
+
'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
|
18
|
+
})
|
19
|
+
|
20
|
+
Viiite.bench do |b|
|
21
|
+
b.range_over([10_000, 100_000, 1000_000], :runs) do |runs|
|
22
|
+
b.report(:plain) do
|
23
|
+
runs.times do
|
24
|
+
MessagePack.unpack(data_plain)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
b.report(:structure) do
|
29
|
+
runs.times do
|
30
|
+
MessagePack.unpack(data_structure)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# viiite report --regroup bench,threads bench/pack_log_long.rb
|
2
|
+
|
3
|
+
require 'viiite'
|
4
|
+
require 'msgpack'
|
5
|
+
|
6
|
+
data_plain = MessagePack.pack({
|
7
|
+
'message' => '127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"'
|
8
|
+
})
|
9
|
+
data_structure = MessagePack.pack({
|
10
|
+
'remote_host' => '127.0.0.1',
|
11
|
+
'remote_user' => '-',
|
12
|
+
'date' => '10/Oct/2000:13:55:36 -0700',
|
13
|
+
'request' => 'GET /apache_pb.gif HTTP/1.0',
|
14
|
+
'method' => 'GET',
|
15
|
+
'path' => '/apache_pb.gif',
|
16
|
+
'protocol' => 'HTTP/1.0',
|
17
|
+
'status' => 200,
|
18
|
+
'bytes' => 2326,
|
19
|
+
'referer' => 'http://www.example.com/start.html',
|
20
|
+
'agent' => 'Mozilla/4.08 [en] (Win98; I ;Nav)',
|
21
|
+
})
|
22
|
+
|
23
|
+
seconds = 3600 # 1 hour
|
24
|
+
|
25
|
+
Viiite.bench do |b|
|
26
|
+
b.range_over([1, 2, 4, 8, 16], :threads) do |threads|
|
27
|
+
b.report(:plain) do
|
28
|
+
ths = []
|
29
|
+
end_at = Time.now + seconds
|
30
|
+
threads.times do
|
31
|
+
t = Thread.new do
|
32
|
+
packs = 0
|
33
|
+
while Time.now < end_at
|
34
|
+
10000.times do
|
35
|
+
MessagePack.unpack(data_plain)
|
36
|
+
end
|
37
|
+
packs += 10000
|
38
|
+
end
|
39
|
+
packs
|
40
|
+
end
|
41
|
+
ths.push t
|
42
|
+
end
|
43
|
+
sum = ths.reduce(0){|r,t| r + t.value }
|
44
|
+
puts "MessagePack.unpack, plain, #{threads} threads: #{sum} times, #{sum / seconds} times/second."
|
45
|
+
end
|
46
|
+
|
47
|
+
b.report(:structure) do
|
48
|
+
ths = []
|
49
|
+
end_at = Time.now + seconds
|
50
|
+
threads.times do
|
51
|
+
t = Thread.new do
|
52
|
+
packs = 0
|
53
|
+
while Time.now < end_at
|
54
|
+
10000.times do
|
55
|
+
MessagePack.unpack(data_structure)
|
56
|
+
end
|
57
|
+
packs += 10000
|
58
|
+
end
|
59
|
+
packs
|
60
|
+
end
|
61
|
+
ths.push t
|
62
|
+
end
|
63
|
+
sum = ths.reduce(0){|r,t| r + t.value }
|
64
|
+
puts "MessagePack.unpack, structured, #{threads} threads: #{sum} times, #{sum / seconds} times/second."
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
data/doclib/msgpack.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
|
2
|
+
module MessagePack
|
3
|
+
#
|
4
|
+
# Serializes an object into an IO or String.
|
5
|
+
#
|
6
|
+
# @overload dump(obj, options={})
|
7
|
+
# @param obj [Object] object to be serialized
|
8
|
+
# @param options [Hash]
|
9
|
+
# @return [String] serialized data
|
10
|
+
#
|
11
|
+
# @overload dump(obj, io, options={})
|
12
|
+
# @param obj [Object] object to be serialized
|
13
|
+
# @param io [IO]
|
14
|
+
# @param options [Hash]
|
15
|
+
# @return [IO]
|
16
|
+
#
|
17
|
+
# See Packer#initialize for supported options.
|
18
|
+
#
|
19
|
+
def self.dump(obj)
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# Serializes an object into an IO or String. Alias of dump.
|
24
|
+
#
|
25
|
+
# @overload pack(obj, options={})
|
26
|
+
# @param obj [Object] object to be serialized
|
27
|
+
# @param options [Hash]
|
28
|
+
# @return [String] serialized data
|
29
|
+
#
|
30
|
+
# @overload pack(obj, io, options={})
|
31
|
+
# @param obj [Object] object to be serialized
|
32
|
+
# @param io [IO]
|
33
|
+
# @param options [Hash]
|
34
|
+
# @return [IO]
|
35
|
+
#
|
36
|
+
# See Packer#initialize for supported options.
|
37
|
+
#
|
38
|
+
def self.pack(obj)
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# Deserializes an object from an IO or String.
|
43
|
+
#
|
44
|
+
# @overload load(string, options={})
|
45
|
+
# @param string [String] data to deserialize
|
46
|
+
# @param options [Hash]
|
47
|
+
#
|
48
|
+
# @overload load(io, options={})
|
49
|
+
# @param io [IO]
|
50
|
+
# @param options [Hash]
|
51
|
+
#
|
52
|
+
# @return [Object] deserialized object
|
53
|
+
#
|
54
|
+
# See Unpacker#initialize for supported options.
|
55
|
+
#
|
56
|
+
def self.load(src, options={})
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# Deserializes an object from an IO or String. Alias of load.
|
61
|
+
#
|
62
|
+
# @overload unpack(string, options={})
|
63
|
+
# @param string [String] data to deserialize
|
64
|
+
# @param options [Hash]
|
65
|
+
#
|
66
|
+
# @overload unpack(io, options={})
|
67
|
+
# @param io [IO]
|
68
|
+
# @param options [Hash]
|
69
|
+
#
|
70
|
+
# @return [Object] deserialized object
|
71
|
+
#
|
72
|
+
# See Unpacker#initialize for supported options.
|
73
|
+
#
|
74
|
+
def self.unpack(src, options={})
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|