Module: CBOR::ByteStringHelper
- Defined in:
- lib/libcbor/helpers.rb
Instance Method Summary collapse
-
#__libcbor_to_cbor ⇒ String
Encodes ByteStrings.
Instance Method Details
#__libcbor_to_cbor ⇒ String
Encodes CBOR::ByteStrings. The result is always a definite string.
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/libcbor/helpers.rb', line 54 def __libcbor_to_cbor @@item ||= LibCBOR.cbor_new_definite_bytestring string = FFI::MemoryPointer.from_string(self) out_bfr = FFI::MemoryPointer.new :pointer out_bfr_len = FFI::MemoryPointer.new :size_t LibCBOR.cbor_bytestring_set_handle(@@item, string, bytes.length) res_len = LibCBOR.cbor_serialize_alloc(@@item, out_bfr, out_bfr_len) out_bfr.read_pointer.get_bytes(0, res_len).tap do LibC.free(out_bfr.read_pointer) end end |