github.com/status-im/status-go@v1.1.0/server/pairing/raw_message_collector.go (about)

     1  package pairing
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/status-im/status-go/protocol/protobuf"
     7  
     8  	"github.com/status-im/status-go/protocol/common"
     9  )
    10  
    11  type RawMessageCollector struct {
    12  	rawMessages []*common.RawMessage
    13  }
    14  
    15  func (r *RawMessageCollector) dispatchMessage(_ context.Context, rawMessage common.RawMessage) (common.RawMessage, error) {
    16  	r.rawMessages = append(r.rawMessages, &rawMessage)
    17  	return rawMessage, nil
    18  }
    19  
    20  func (r *RawMessageCollector) getRawMessages() []*common.RawMessage {
    21  	return r.rawMessages
    22  }
    23  
    24  func (r *RawMessageCollector) convertToSyncRawMessage() *protobuf.SyncRawMessage {
    25  	syncRawMessage := new(protobuf.SyncRawMessage)
    26  	for _, m := range r.getRawMessages() {
    27  		rawMessage := new(protobuf.RawMessage)
    28  		rawMessage.Payload = m.Payload
    29  		rawMessage.MessageType = m.MessageType
    30  		syncRawMessage.RawMessages = append(syncRawMessage.RawMessages, rawMessage)
    31  	}
    32  	return syncRawMessage
    33  }