After refactoring in https://github.com/HIRO-MicroDataCenters-BV/rhio/pull/56 this is a follow up PR introducing a rhio-core and rhio-client module to have some tooling around publishing p2panda operations. I thought it would be good to already have this for testing the system and development of rhio.
Introduces a rhio-core module with basic definitions to create, ingest, encode and decode rhio-opiniated operations, it also holds the types TopicId, LogId, and RhioExtensions now
Introduces a rhio-client module with a simple library holding a in-memory p2panda operations store and a NATS JetStream client to manage publishing messages to it
Written a small main.rs executable in rhio-client for testing publishing operations into a NATS stream
In general this PR also simplifies the types in rhio which are used in the p2panda network, instead of GossipOperation, Message and MessageMeta there is only Operation<RhioExtensions> now. The goal is that every operation holds all data (in it's header) to be self-explanatory.
:rocket:
This description was created by Ellipsis for commit f183f9cdb6eb67ded2114c41982354dbf1d5b79e
Summary:
Introduces rhio-core and rhio-client modules, simplifies network types, and adds NATS stream testing capabilities, with file relocations.
Key points:
Introduces rhio-core module for creating, ingesting, encoding, and decoding operations.
Defines TopicId, LogId, and RhioExtensions in rhio-core.
Introduces rhio-client module with in-memory store and NATS JetStream client.
Simplifies p2panda network types to Operation<RhioExtensions>.
Adds rhio-client/src/main.rs for testing NATS stream publishing.
Removes rhio/src/private_key.rs and moves its functions to rhio-core.
Removes rhio-core/src/nats.rs and relocates Subject type.
rhio-core
module with basic definitions to create, ingest, encode and decode rhio-opiniated operations, it also holds the typesTopicId
,LogId
, andRhioExtensions
nowrhio-client
module with a simple library holding a in-memory p2panda operations store and a NATS JetStream client to manage publishing messages to itmain.rs
executable inrhio-client
for testing publishing operations into a NATS streamIn general this PR also simplifies the types in
rhio
which are used in the p2panda network, instead ofGossipOperation
,Message
andMessageMeta
there is onlyOperation<RhioExtensions>
now. The goal is that every operation holds all data (in it's header) to be self-explanatory.Summary:
Introduces
rhio-core
andrhio-client
modules, simplifies network types, and adds NATS stream testing capabilities, with file relocations.Key points:
rhio-core
module for creating, ingesting, encoding, and decoding operations.TopicId
,LogId
, andRhioExtensions
inrhio-core
.rhio-client
module with in-memory store and NATS JetStream client.Operation<RhioExtensions>
.rhio-client/src/main.rs
for testing NATS stream publishing.rhio/src/private_key.rs
and moves its functions torhio-core
.rhio-core/src/nats.rs
and relocatesSubject
type.Generated with :heart: by ellipsis.dev