Module: Spark::CoreExtension::IO::InstanceMethods
- Defined in:
- lib/spark/ext/io.rb
Instance Method Summary collapse
- #read_data ⇒ Object
-
#read_int ⇒ Object
Reading.
- #read_int_or_eof ⇒ Object
- #read_long ⇒ Object
- #read_string ⇒ Object
- #write_data(data) ⇒ Object
-
#write_int(data) ⇒ Object
Writing.
- #write_long(data) ⇒ Object
-
#write_string(data) ⇒ Object
Size and data can have different encoding Marshal: both ASCII Oj: ASCII and UTF-8.
Instance Method Details
#read_data ⇒ Object
29 30 31 |
# File 'lib/spark/ext/io.rb', line 29 def read_data Marshal.load(read_string) end |
#read_int ⇒ Object
Reading
11 12 13 |
# File 'lib/spark/ext/io.rb', line 11 def read_int unpack_int(read(4)) end |
#read_int_or_eof ⇒ Object
15 16 17 18 19 |
# File 'lib/spark/ext/io.rb', line 15 def read_int_or_eof bytes = read(4) return Spark::Constant::DATA_EOF if bytes.nil? unpack_int(bytes) end |
#read_long ⇒ Object
21 22 23 |
# File 'lib/spark/ext/io.rb', line 21 def read_long unpack_long(read(8)) end |
#read_string ⇒ Object
25 26 27 |
# File 'lib/spark/ext/io.rb', line 25 def read_string read(read_int) end |
#write_data(data) ⇒ Object
52 53 54 |
# File 'lib/spark/ext/io.rb', line 52 def write_data(data) write_string(Marshal.dump(data)) end |
#write_int(data) ⇒ Object
Writing
36 37 38 |
# File 'lib/spark/ext/io.rb', line 36 def write_int(data) write(pack_int(data)) end |
#write_long(data) ⇒ Object
40 41 42 |
# File 'lib/spark/ext/io.rb', line 40 def write_long(data) write(pack_long(data)) end |
#write_string(data) ⇒ Object
Size and data can have different encoding Marshal: both ASCII Oj: ASCII and UTF-8
47 48 49 50 |
# File 'lib/spark/ext/io.rb', line 47 def write_string(data) write_int(data.bytesize) write(data) end |