-
Notifications
You must be signed in to change notification settings - Fork 19
Description
If the IEventData had an encoding: byte
that could be used to push the compression in CosmosStore and DynamoStore outward
e.g. 0 can be Raw, 1 can be Deflated for common UTF8 JSON cases
but probably pluggable to allow it to identify an encoding version or maybe flag json vs protobuf etc
ITimelineEvent and IEventCodec would use it to layer compression/decompression and/or custom decoding
With a default that does the conditional compression when encoding (and/or some other way to preserve the existing DX of it being defaulted on for Equinox.DynamoStore
)
Equinox.EventStoreDb
can map 'Encoding to octet-stream, octet-steam;deflate, and/or probably also a JSON content-encoding
For CodecJsonElement
, NodeType.string vs object is used to infer whether a decompression step is required (currently Equinox.CosmosStore
has a flag at category level and supports compression/decompression only for unfolds)
eqx dump
can then work off it to default to dumping json
Prompted by jet/equinox#331