Merge remote-tracking branch 'origin/master' into Fix_store_format

This commit is contained in:
aya 2025-05-29 19:21:57 +03:00
commit ab317903ec
2 changed files with 21 additions and 19 deletions

View File

@ -31,27 +31,27 @@ type wakuEnvelope struct {
MessageHash MessageHash `json:"messageHash"`
}
// NewEnvelope creates a new Envelope from a json string generated in nwaku
func NewEnvelope(jsonEventStr string) (*Envelope, error) {
// UnmarshalJSON implements the json.Unmarshaler interface
func (e *Envelope) UnmarshalJSON(input []byte) error {
wakuEnvelope := wakuEnvelope{}
err := json.Unmarshal([]byte(jsonEventStr), &wakuEnvelope)
err := json.Unmarshal(input, &wakuEnvelope)
if err != nil {
return nil, err
return err
}
return &Envelope{
msg: &pb.WakuMessage{
Payload: wakuEnvelope.WakuMessage.Payload,
ContentTopic: wakuEnvelope.WakuMessage.ContentTopic,
Version: wakuEnvelope.WakuMessage.Version,
Timestamp: wakuEnvelope.WakuMessage.Timestamp,
Meta: wakuEnvelope.WakuMessage.Meta,
Ephemeral: wakuEnvelope.WakuMessage.Ephemeral,
RateLimitProof: wakuEnvelope.WakuMessage.RateLimitProof,
},
topic: wakuEnvelope.PubsubTopic,
hash: wakuEnvelope.MessageHash,
}, nil
e.msg = &pb.WakuMessage{
Payload: wakuEnvelope.WakuMessage.Payload,
ContentTopic: wakuEnvelope.WakuMessage.ContentTopic,
Version: wakuEnvelope.WakuMessage.Version,
Timestamp: wakuEnvelope.WakuMessage.Timestamp,
Meta: wakuEnvelope.WakuMessage.Meta,
Ephemeral: wakuEnvelope.WakuMessage.Ephemeral,
RateLimitProof: wakuEnvelope.WakuMessage.RateLimitProof,
}
e.topic = wakuEnvelope.PubsubTopic
e.hash = wakuEnvelope.MessageHash
return nil
}
func (e *Envelope) Message() *pb.WakuMessage {

View File

@ -480,12 +480,14 @@ func (n *WakuNode) OnEvent(eventStr string) {
}
func (n *WakuNode) parseMessageEvent(eventStr string) {
envelope, err := common.NewEnvelope(eventStr)
var envelope common.Envelope
err := json.Unmarshal([]byte(eventStr), &envelope)
if err != nil {
Error("could not parse message %v", err)
return
}
select {
case n.MsgChan <- *envelope:
case n.MsgChan <- envelope:
default:
Warn("Can't deliver message to subscription, MsgChan is full")
}