X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/48d7bce28b18ecef4c52c98821675605464cecb9..0cb73c3dde36d0078f3c1aa4200f2edcb5ceed38:/whatsapp_groups.go?ds=sidebyside diff --git a/whatsapp_groups.go b/whatsapp_groups.go index 4d6c7e5..bc8bb2f 100644 --- a/whatsapp_groups.go +++ b/whatsapp_groups.go @@ -9,9 +9,9 @@ import ( ) const ( - // whatsappGroupsLookupTime is the longest time of a read of group + // whatsappGroupLookupTimeout is the longest time of a read of group // names. - whatsappGroupsLookupTime = 10 * time.Second + whatsappGroupLookupTimeout = 10 * time.Second // whatsappGroupsRefresh is the shortest time between two reads of the // groups from WhatsApp for a group with no name. @@ -25,20 +25,11 @@ const ( whatsappGroupsAge = time.Hour ) -// newWhatsAppGroups returns the names of the groups with no names yet. logger -// gets the failures of a read. -func newWhatsAppGroups(logger *slog.Logger) *WhatsAppGroups { - return &WhatsAppGroups{ - logger: logger, - names: make(map[string]string), - } -} - // WhatsAppGroups holds the names of the groups of the account, by the ID of the // group. They come from the events of the groups and from reads of the groups // from WhatsApp, and they stay in memory only. triedAt is the time of the last -// read, and readAt the time of the last read that succeeded. The mutex -// protects all fields after logger. +// read, and readAt the time of the last read that succeeded. The mutex protects +// all fields after logger. type WhatsAppGroups struct { logger *slog.Logger @@ -48,6 +39,15 @@ type WhatsAppGroups struct { readAt time.Time } +// newWhatsAppGroups returns the names of the groups with no names yet. logger +// gets the failures of a read. +func newWhatsAppGroups(logger *slog.Logger) *WhatsAppGroups { + return &WhatsAppGroups{ + logger: logger, + names: make(map[string]string), + } +} + // name returns the name of the group id, or whatsappUnknownGroup. A group that // is not in the names reads the groups from WhatsApp with the client of link // again, at most once in whatsappGroupsRefresh. @@ -81,7 +81,7 @@ func (g *WhatsAppGroups) read(ctx context.Context, link WhatsAppLink) bool { return false } - ctx, cancel := context.WithTimeout(ctx, whatsappGroupsLookupTime) + ctx, cancel := context.WithTimeout(ctx, whatsappGroupLookupTimeout) defer cancel() groups, err := link.client.GetJoinedGroups(ctx)