Log for src/testing.rs
-
Only compile TrivialID for codecs 💬 by Caio 2 years ago
Only used for roundtrip tests
-
promote AccumulatingRuntime to supported 💬 by Caio 2 years ago
It's useful enough, lets me get rid of yet another dummy runtime impl and allows examples to be smaller
-
New Notification::Rename for addr conflict resolution by Caio 2 years ago
-
conflict resolution within Members via Identity 💬 by Caio 2 years ago
I really don't like the `win_addr_conflict` name ... not like `has_same_prefix` was any better
-
wip conflict management sketch 💬 by Caio 2 years ago
sweet. looks like simple conflict mgmt will be a go
-
Stable addr for testing ID 💬 by Caio 2 years ago
huh it wasn't a proper breakage
-
use addr equality instead of has_same_prefix 💬 by Caio 2 years ago
finally something broke proper. soon i'll know if this will actually go somewhere
-
identity with associated addr by Caio 2 years ago
-
identity.addr() needs PartialEq, prolly not Hash by Caio 2 years ago
-
wip Identity::addr() 💬 by Caio 2 years ago
not sure this will pan out yet
-
Fail compilation on unreachable public exports 💬 by Caio 2 years ago
This enables the unreachable_pub rustc lint so that we don't end up exposing unconstructable types again Ref: https://github.com/caio/foca/issues/24
-
bugfix: Feed messages can come with trailing junk 💬 by Caio 3 years ago
When crafting a Message::Feed payload, we were assuming that codecs wouldn't leave ANY invalid data in the buffer when an error occurred This is very likely to happen when the messages being sent would reach Config::max_packet_size (i.e.: large clusters, large identities) and the usd codec is not careful checking if the whole Member can fit the buffer before writing anything to it. Whilst annoying, the errors this led to were harmless noise unless there's a chance a codec would interpret the trailing bytes as part of the previous entry in the buffer- quite unlikely I think? Before the fix, the added test fails with: > ---- tests::feed_does_not_contain_trailing_jumk stdout ---- > thread 'tests::feed_does_not_contain_trailing_jumk' panicked at 'assertion failed: `(left == right)` > left: `Ok(())`, > right: `Err(CustomBroadcast(Broadcasts disabled))`', src/lib.rs:3634:9
-
Ability to notify active down members 💬 by Caio 3 years ago
When a member is declared down by the cluster, its messages get ignored until the cluster "forgets" it went down (i.e.: after `Config::remove_down_after` expires). This patch introduces a new setting `Config::notify_down_members` which makes foca send a lightweight message to said members when they're down.
-
clippy: derive Eq when deriving PartialEq by Caio 3 years ago
-
Functionality to guarantee broadcast dissemination 💬 by Caio 4 years ago
This patch introduces `Foca::broadcast` which works similarly to `Foca::gossip`; It: 1. Picks `Config::num_indirect_probes` members 2. Sends as much broadcast data as it can for them The difference from `gossip` is that this guarantees broadcast dissemination if there's any active member that passes the `BroadcastHandler::should_add_broadcast_data` condition; And the message is `Message::Broadcast` (instead of `Message::Gossip`) to signal that there's only broadcast data in the payload, no cluster updates.
-
Reproduce incorrect probe cycle cleanup scenario by Caio 4 years ago
-
Initial public commit 💬 by Caio 4 years ago
Probably good enough for a first experimental release