Avro C#
|
A general purpose reader of data from avro streams. This reader analyzes and resolves the reader and writer schemas when constructed so that reads can be more efficient. Once constructed, a reader can be reused or shared among threads to avoid incurring more resolution costs. More...
Classes | |
interface | ArrayAccess |
Defines the interface for a class that provides access to an array implementation. More... | |
interface | EnumAccess |
Defines the interface for a class that provides access to an enum implementation. More... | |
interface | FixedAccess |
Defines the interface for a class that provides access to a fixed implementation. More... | |
interface | MapAccess |
Defines the interface for a class that provides access to a map implementation. More... | |
interface | RecordAccess |
Defines the interface for a class that provides access to a record implementation. More... | |
Public Member Functions | |||||
T | Read (T reuse, Decoder decoder) | ||||
Read a datum. Traverse the schema, depth-first, reading all leaf values in the schema into a datum that is returned. If the provided datum is non-null it may be reused and returned.
| |||||
Protected Member Functions | |
delegate object | ReadItem (object reuse, Decoder dec) |
Defines the signature for a function that reads an item from a decoder. | |
PreresolvingDatumReader (Schema writerSchema, Schema readerSchema) | |
Initializes a new instance of the PreresolvingDatumReader<T> class. | |
ArrayAccess | GetArrayAccess (ArraySchema readerSchema) |
Returns an ArrayAccess implementation for the given schema. | |
EnumAccess | GetEnumAccess (EnumSchema readerSchema) |
Returns an EnumAccess implementation for the given schema. | |
MapAccess | GetMapAccess (MapSchema readerSchema) |
Returns a MapAccess implementation for the given schema. | |
RecordAccess | GetRecordAccess (RecordSchema readerSchema) |
Returns a RecordAccess implementation for the given schema. | |
FixedAccess | GetFixedAccess (FixedSchema readerSchema) |
Returns a FixedAccess implementation for the given schema. | |
virtual bool | IsReusable (Schema.Type tag) |
Indicates if it's possible to reuse an object of the specified type. Generally false for immutable objects like int, long, string, etc but may differ between the Specific and Generic implementations. Used to avoid retrieving the existing value if it's not reusable. | |
Static Protected Member Functions | |
static Schema | FindBranch (UnionSchema us, Schema s) |
Finds the branch of the union schema associated with the given schema. | |
Properties | |
Schema | ReaderSchema [get] |
Schema used to read the data. | |
Schema | WriterSchema [get] |
Schema that was used to write the data. | |
![]() |
A general purpose reader of data from avro streams. This reader analyzes and resolves the reader and writer schemas when constructed so that reads can be more efficient. Once constructed, a reader can be reused or shared among threads to avoid incurring more resolution costs.
|
inlineprotected |
Initializes a new instance of the PreresolvingDatumReader<T> class.
writerSchema | Schema that was used to write the data. |
readerSchema | Schema to use to read the data. |
|
inlinestaticprotected |
Finds the branch of the union schema associated with the given schema.
us | Union schema. |
s | Schema to find in the union schema. |
|
abstractprotected |
Returns an ArrayAccess implementation for the given schema.
readerSchema | Schema for the array. |
|
abstractprotected |
Returns an EnumAccess implementation for the given schema.
readerSchema | Schema for the enum. |
|
abstractprotected |
Returns a FixedAccess implementation for the given schema.
readerSchema | Schema for the fixed. |
|
abstractprotected |
Returns a MapAccess implementation for the given schema.
readerSchema | Schema for the map. |
|
abstractprotected |
Returns a RecordAccess implementation for the given schema.
readerSchema | Schema for the record. |
|
inlineprotectedvirtual |
Indicates if it's possible to reuse an object of the specified type. Generally false for immutable objects like int, long, string, etc but may differ between the Specific and Generic implementations. Used to avoid retrieving the existing value if it's not reusable.
tag | Schema type to test for reusability. |
Reimplemented in Avro.Generic.GenericDatumReader< T >, and Avro.Specific.SpecificDatumReader< T >.
|
inline |
Read a datum. Traverse the schema, depth-first, reading all leaf values in the schema into a datum that is returned. If the provided datum is non-null it may be reused and returned.
reuse | Optional object to deserialize the datum into. May be null. |
decoder | Decoder to read data from. |
Implements Avro.Generic.DatumReader< T >.
|
protected |
Defines the signature for a function that reads an item from a decoder.
reuse | Optional object to deserialize the datum into. May be null. |
dec | Decoder to read data from. |
|
get |
Schema used to read the data.
Implements Avro.Generic.DatumReader< T >.
|
get |
Schema that was used to write the data.
Implements Avro.Generic.DatumReader< T >.