Avro.Output
A sink for bytes.
Serializing objects always ends up writing bytes to some output.
val of_buffer : Stdlib.Buffer.t -> t
Output into the given buffer. Encoded data can be accessed using Buffer
.contents.
val of_chan : Stdlib.out_channel -> t
Write data to the given channel.
val with_file : ?flags:Stdlib.open_flag list -> ?mode:int -> string -> (t -> 'a) -> 'a
with_file file f
opens file
, obtaining a channel oc
, calls f out
with an output that writes to the channel oc
. When f out
returns, this closes oc
and returns the same as f
.
val of_iobuf_chain : Avro__Iobuf.Pool.t -> t * Avro__Iobuf.Chain.t
of_iobuf_chain pool
is an output that writes to buffers allocated from pool
. It also returns a chain of buffers into which the content is written
module type CUSTOM = sig ... end
Custom output
val write_byte : t -> char -> unit
Write a single byte.
val write_slice : t -> bytes -> int -> int -> unit
Write the given slice.
val write_bool : t -> bool -> unit
val write_int : t -> int -> unit
val write_int64 : t -> int64 -> unit
val write_float32 : t -> float -> unit
val write_float64 : t -> float -> unit
val write_string : t -> string -> unit
val write_string_of_len : t -> int -> string -> unit
val flush : t -> unit
Hint to flush underlying buffer/channel/socket.