summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-12-29Extract handling code into helper moduleHEADmasterMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-29Merge branch 'no-gossip-handler'Matthias Beyer
2021-12-29Remove the GossipHandler, handle in code directlyMatthias Beyer
Use the iced idea of how to act on events rather than having a type for handling gossip messages. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Merge branch 'roadmap'Matthias Beyer
2021-12-21Merge branch 'posting'Matthias Beyer
2021-12-21Add Roadmap to MVP/POCMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Add saving of profile stateMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Change timeline to be ordered internallyMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Dates and times can be orderedMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Make timeline deduplicatingMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Post to profile, not to clientMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Wrap Profile in RwLockMatthias Beyer
We need mutable access to the profile if we want to write to it, so this commit changes the Profile to wrapped in a tokio::sync::RwLock Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-21Gossip only every 5 secsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Merge branch 'gossipping-cli'Matthias Beyer
2021-12-20Receive gossip and log about itMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Make sure to gossip about own state every 500msMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Print own addresses for better debugabilityMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Let user specify listening addressesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Let client connect to multiple other clientsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Add functionality to add listening addressesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Add Client::own_addresses() to get addresses of ipfs instanceMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-20Merge branch 'gossipping-gui'Matthias Beyer
2021-12-20Add gossipping of own state in guiMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Add Profile::gossip_own_state()Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Make GossipMessage::into_bytes() pub in moduleMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Store String in log, so we can write normal logging stuff to that log, tooMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Add Gossip message loggingMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Impl hash() for GossipRecipeMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Add message explanation loggingMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-19Implement gossip reactor loading via oneshot channels for subscription ↵Matthias Beyer
initialization Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Shrink idea of "Reactors"Matthias Beyer
A Reactor can be waaay less complex if we simply use it as "map"-helper for mapping over `Stream`s. If we map over a stream of Vec<u8> and deserialize them to GossipMessages in one step, and handle them appropriately in the next step, it is way less complex to implement these things and we do not have to care about this whole "how do I shut down the thing" because we can simply drop() everything and let the destructors do their job. This patch removes the Reactor nonsense. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Add way to show application logMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Adjust Loading viewMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Merge branch 'cleanup'Matthias Beyer
2021-12-18Merge branch 'refactor-gui'Matthias Beyer
2021-12-18Add error message when distrox fails to loadMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Remove "State" helper struct and use some matching magic for less boilerplateMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Refactor: Split app moduleMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Ignore unused variablesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Remove unused importsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Fix: Remove config::Config usageMatthias Beyer
as this type was removed. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Merge branch 'multi-device-support'Matthias Beyer
2021-12-18Merge branch 'gui-timeline'Matthias Beyer
2021-12-18Add some log outputMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18As soon as posting operation returns, log the resultMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Implement TimelineMatthias Beyer
for that, we remove the distrox_lib::config::Config type which was unused anyways, because it makes the whole implementation a bit less complex. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Move strategy for handling of gossip message to own typesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Fix test: Reactor should be running during test, not only during communcationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Add some log outputMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-12-18Implement Debug for GossipReactor instead of deriving itMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>