Sha256: ff4a804041bc6b44f0aa3ec50486475f73346bdf741457e9de8dbb83efe84215
Contents?: true
Size: 610 Bytes
Versions: 3
Compression:
Stored size: 610 Bytes
Contents
class XDR::Opaque include XDR::Concerns::ConvertsToXDR include XDR::Concerns::StringConverter singleton_class.send(:alias_method, :[], :new) def initialize(length) @length = length @padding = padding_for length end def read(io) # read and return @length bytes # throw away @padding bytes read_bytes(io, @length).tap{ read_zeros(io, @padding) } end def write(val,io) length = val.bytesize if val.length != @length raise XDR::WriteError, "Value length is #{length}, must be #{@length}" end io.write val io.write "\x00" * @padding end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
xdr-3.0.2 | lib/xdr/opaque.rb |
xdr-3.0.1 | lib/xdr/opaque.rb |
xdr-3.0.0 | lib/xdr/opaque.rb |