Documentation ¶
Overview ¶
Package raw implements IPLD's raw codec, which simply writes and reads a Node which can be represented as bytes.
The codec can be used with any node which supports AsBytes and AssignBytes. In general, it only makes sense to use this codec on a plain "bytes" node such as github.com/ipld/go-ipld-prime/node/basicnode.Prototype.Bytes.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Decode ¶
func Decode(am datamodel.NodeAssembler, r io.Reader) error
Decode implements decoding of a node with the raw codec.
Note that if r has a Bytes method, such as is the case with *bytes.Buffer, we will use those bytes directly to save having to allocate and copy them. The Node interface is defined as immutable, so it is assumed that its bytes won't be modified in-place. Similarly, we assume that the incoming buffer's bytes won't get modified in-place later.
To disable the shortcut above, hide the Bytes method by wrapping the buffer with an io.Reader:
Decode([...], struct{io.Reader}{buf})
Types ¶
This section is empty.