From 07665ab69b80fb739672d64fe12ef54ee18ee245 Mon Sep 17 00:00:00 2001 From: josh <josh@elixxir.io> Date: Wed, 15 Dec 2021 16:05:11 -0800 Subject: [PATCH] Move OnSend bucket increment to network/message/ package --- api/send.go | 12 ------------ network/message/sendCmix.go | 11 +++++++++++ network/message/sendManyCmix.go | 1 + 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/api/send.go b/api/send.go index 08531b696..3c6cc0178 100644 --- a/api/send.go +++ b/api/send.go @@ -50,7 +50,6 @@ func (c *Client) SendUnsafe(m message.Send, param params.Unsafe) ([]id.Round, func (c *Client) SendCMIX(msg format.Message, recipientID *id.ID, param params.CMIX) (id.Round, ephemeral.Id, error) { jww.INFO.Printf("SendCMIX(%s)", string(msg.GetContents())) - c.OnSend(1) return c.network.SendCMIX(msg, recipientID, param) } @@ -59,7 +58,6 @@ func (c *Client) SendCMIX(msg format.Message, recipientID *id.ID, // round ID of the round the payload was sent or an error if it fails. func (c *Client) SendManyCMIX(messages []message.TargetedCmixMessage, params params.CMIX) (id.Round, []ephemeral.Id, error) { - c.OnSend(uint32(len(messages))) return c.network.SendManyCMIX(messages, params) } @@ -75,13 +73,3 @@ func (c *Client) NewCMIXMessage(contents []byte) (format.Message, error) { msg.SetContents(contents) return msg, nil } - -// OnSend performs a bucket addition on a call to Client.SendCMIX or -// Client.SendManyCMIX, updating the bucket for the amount of messages sent. -func (c *Client) OnSend(messages uint32) { - rateLimitingParam := c.storage.GetBucketParams().Get() - c.storage.GetBucket().AddWithExternalParams(messages, - rateLimitingParam.Capacity, rateLimitingParam.LeakedTokens, - rateLimitingParam.LeakDuration) - -} diff --git a/network/message/sendCmix.go b/network/message/sendCmix.go index 5847e4e15..3c48ac49f 100644 --- a/network/message/sendCmix.go +++ b/network/message/sendCmix.go @@ -187,6 +187,7 @@ func sendCmixHelper(sender *gateway.Sender, msg format.Message, elapsed, numRoundTries) jww.INFO.Print(m) events.Report(1, "MessageSend", "Metric", m) + onSend(1, session) return id.Round(bestRound.ID), ephID, nil } else { jww.FATAL.Panicf("Gateway %s returned no error, but failed "+ @@ -198,3 +199,13 @@ func sendCmixHelper(sender *gateway.Sender, msg format.Message, return 0, ephemeral.Id{}, errors.New("failed to send the message, " + "unknown error") } + +// OnSend performs a bucket addition on a call to Manager.SendCMIX or +// Manager.SendManyCMIX, updating the bucket for the amount of messages sent. +func onSend(messages uint32, session *storage.Session) { + rateLimitingParam := session.GetBucketParams().Get() + session.GetBucket().AddWithExternalParams(messages, + rateLimitingParam.Capacity, rateLimitingParam.LeakedTokens, + rateLimitingParam.LeakDuration) + +} diff --git a/network/message/sendManyCmix.go b/network/message/sendManyCmix.go index 04b833344..a99af6dde 100644 --- a/network/message/sendManyCmix.go +++ b/network/message/sendManyCmix.go @@ -203,6 +203,7 @@ func sendManyCmixHelper(sender *gateway.Sender, "in round %d", ephemeralIDsString, recipientString, bestRound.ID) jww.INFO.Print(m) events.Report(1, "MessageSendMany", "Metric", m) + onSend(uint32(len(msgs)), session) return id.Round(bestRound.ID), ephemeralIDs, nil } else { jww.FATAL.Panicf("Gateway %s returned no error, but failed to "+ -- GitLab