diff --git a/api/client.go b/api/client.go index f7f879de1f8163d16ac12200687e47a8bf719a2e..44de05e00876644caf88368eda44adef8f88031e 100644 --- a/api/client.go +++ b/api/client.go @@ -339,6 +339,7 @@ func (c *Client) GetSwitchboard() interfaces.Switchboard { // events. func (c *Client) GetRoundEvents() interfaces.RoundEvents { jww.INFO.Printf("GetRoundEvents()") + jww.WARN.Printf("GetRoundEvents does not handle Client Errors edge case!") return c.network.GetInstance().GetRoundEvents() } diff --git a/bindings/client.go b/bindings/client.go index 2789061f4119519698a8263daa5db0252ef7300f..2091e95bfc239e5947d68530ec46375252cc7b7d 100644 --- a/bindings/client.go +++ b/bindings/client.go @@ -291,15 +291,15 @@ func (c *Client) RegisterRoundEventsHandler(rid int, cb RoundEventCallback, } // RegisterMessageDeliveryCB allows the caller to get notified if the rounds a -// message was sent in sucesfully completed. Under the hood, this uses the same -// interface as RegisterRoundEventsHandler, but provides a convienet way to use +// message was sent in successfully completed. Under the hood, this uses the same +// interface as RegisterRoundEventsHandler, but provides a convent way to use // the interface in its most common form, looking up the result of message -// retreval +// retrieval // // The callbacks will return at timeoutMS if no state update occurs // // This function takes the marshaled send report to ensure a memory leak does -// not occur as a result of both sides of the bindings holding a refrence to +// not occur as a result of both sides of the bindings holding a reference to // the same pointer. func (c *Client) RegisterMessageDeliveryCB(marshaledSendReport []byte, mdc MessageDeliveryCallback, timeoutMS int) (*Unregister, error) { diff --git a/network/follow.go b/network/follow.go index 1b810dbec4a7bb6493e0101a817819b6835c7987..fdde482420c16384e9e061636522f46c6a28ebc0 100644 --- a/network/follow.go +++ b/network/follow.go @@ -173,6 +173,12 @@ func (m *manager) follow(rng csprng.Source, comms followNetworkComms) { return } + // FIXME: Should be able to trigger proper type of round event + // FIXME: without mutating the RoundInfo. Signature also needs verified + // FIXME: before keys are deleted + update.State = uint32(states.FAILED) + m.Instance.GetRoundEvents().TriggerRoundEvent(update) + // Delete all existing keys and trigger a re-registration with the relevant Node m.Session.Cmix().Remove(nid) m.Instance.GetAddGatewayChan() <- nGw