Changeset 667 in code for trunk/downstream.go


Ignore:
Timestamp:
Nov 3, 2021, 5:21:05 PM (4 years ago)
Author:
contact
Message:

msgstore: add context to messageStore methods

This allows setting a hard timeout.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/downstream.go

    r666 r667  
    13291329        ch := net.channels.Value(target)
    13301330
     1331        ctx, cancel := context.WithTimeout(context.TODO(), messageStoreTimeout)
     1332        defer cancel()
     1333
    13311334        limit := 4000
    13321335        targetCM := net.casemap(target)
    1333         history, err := dc.user.msgStore.LoadLatestID(&net.Network, targetCM, msgID, limit)
     1336        history, err := dc.user.msgStore.LoadLatestID(ctx, &net.Network, targetCM, msgID, limit)
    13341337        if err != nil {
    13351338                dc.logger.Printf("failed to send backlog for %q: %v", target, err)
     
    23352338                eventPlayback := dc.caps["draft/event-playback"]
    23362339
     2340                ctx, cancel := context.WithTimeout(context.TODO(), messageStoreTimeout)
     2341                defer cancel()
     2342
    23372343                var history []*irc.Message
    23382344                switch subcommand {
    23392345                case "BEFORE":
    2340                         history, err = store.LoadBeforeTime(&network.Network, entity, bounds[0], time.Time{}, limit, eventPlayback)
     2346                        history, err = store.LoadBeforeTime(ctx, &network.Network, entity, bounds[0], time.Time{}, limit, eventPlayback)
    23412347                case "AFTER":
    2342                         history, err = store.LoadAfterTime(&network.Network, entity, bounds[0], time.Now(), limit, eventPlayback)
     2348                        history, err = store.LoadAfterTime(ctx, &network.Network, entity, bounds[0], time.Now(), limit, eventPlayback)
    23432349                case "BETWEEN":
    23442350                        if bounds[0].Before(bounds[1]) {
    2345                                 history, err = store.LoadAfterTime(&network.Network, entity, bounds[0], bounds[1], limit, eventPlayback)
     2351                                history, err = store.LoadAfterTime(ctx, &network.Network, entity, bounds[0], bounds[1], limit, eventPlayback)
    23462352                        } else {
    2347                                 history, err = store.LoadBeforeTime(&network.Network, entity, bounds[0], bounds[1], limit, eventPlayback)
     2353                                history, err = store.LoadBeforeTime(ctx, &network.Network, entity, bounds[0], bounds[1], limit, eventPlayback)
    23482354                        }
    23492355                case "TARGETS":
    23502356                        // TODO: support TARGETS in multi-upstream mode
    2351                         targets, err := store.ListTargets(&network.Network, bounds[0], bounds[1], limit, eventPlayback)
     2357                        targets, err := store.ListTargets(ctx, &network.Network, bounds[0], bounds[1], limit, eventPlayback)
    23522358                        if err != nil {
    23532359                                dc.logger.Printf("failed fetching targets for chathistory: %v", err)
Note: See TracChangeset for help on using the changeset viewer.