Changeset 488 in code for trunk/downstream.go


Ignore:
Timestamp:
Mar 31, 2021, 3:57:24 PM (4 years ago)
Author:
contact
Message:

Use BARE for internal message IDs

This allows to have shorter and more future-proof IDs. This also
guarantees the IDs will only use reasonable ASCII characters (no
spaces), removing the need to encode them for PING/PONG tokens.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/downstream.go

    r486 r488  
    351351// ackMsgID acknowledges that a message has been received.
    352352func (dc *downstreamConn) ackMsgID(id string) {
    353         netID, entity, _, err := parseMsgID(id)
     353        netID, entity, err := parseMsgID(id, nil)
    354354        if err != nil {
    355355                dc.logger.Printf("failed to ACK message ID %q: %v", id, err)
     
    366366
    367367func (dc *downstreamConn) sendPing(msgID string) {
    368         token := "soju-msgid-" + base64.RawURLEncoding.EncodeToString([]byte(msgID))
     368        token := "soju-msgid-" + msgID
    369369        dc.SendMessage(&irc.Message{
    370370                Command: "PING",
     
    378378                return
    379379        }
    380         token = strings.TrimPrefix(token, "soju-msgid-")
    381         b, err := base64.RawURLEncoding.DecodeString(token)
    382         if err != nil {
    383                 dc.logger.Printf("received malformed PONG token: %v", err)
    384                 return
    385         }
    386         msgID := string(b)
    387 
     380        msgID := strings.TrimPrefix(token, "soju-msgid-")
    388381        dc.ackMsgID(msgID)
    389382}
Note: See TracChangeset for help on using the changeset viewer.