mirror of
https://github.com/status-im/status-go.git
synced 2025-02-23 04:08:27 +00:00
* refactor TestRequestMessageFromMailboxAsync to use s.requestHistoricMessages helper * send p2pRequestResponseCode from mailserver * send p2p message response to after sending all historic messages * mailserver sends `whisper.NewSentMessage` as response * add mailserver Client and p2pRequestAckCode watchers * send event with envelopeFeed when p2pRequestAckCode is received * test request completed event in tracker * rename mailserver response events and code to RequestCompleteCode * wait for mailserver response in e2e test * use SendHistoricMessageResponse method name for mailserver response * fix lint warnings * add mailserver request expiration * send mailserver response without envelope * add `ttl` to Request struct in shhext_requestMessages * test that tracker calls handler.MailServerRequestExpired * add geth patch * rename TTL to Timeout * split tracker.handleEvent in multiple methods
46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
package signal
|
|
|
|
import (
|
|
"github.com/ethereum/go-ethereum/common"
|
|
)
|
|
|
|
const (
|
|
// EventEnvelopeSent is triggered when envelope was sent at least to a one peer.
|
|
EventEnvelopeSent = "envelope.sent"
|
|
|
|
// EventEnvelopeExpired is triggered when envelop was dropped by a whisper without being sent
|
|
// to any peer
|
|
EventEnvelopeExpired = "envelope.expired"
|
|
|
|
// EventMailServerRequestCompleted is triggered when whisper receives a message ack from the mailserver
|
|
EventMailServerRequestCompleted = "mailserver.request.completed"
|
|
|
|
// EventMailServerRequestExpired is triggered when request TTL ends
|
|
EventMailServerRequestExpired = "mailserver.request.expired"
|
|
)
|
|
|
|
// EnvelopeSignal includes hash of the envelope.
|
|
type EnvelopeSignal struct {
|
|
Hash common.Hash `json:"hash"`
|
|
}
|
|
|
|
// SendEnvelopeSent triggered when envelope delivered at least to 1 peer.
|
|
func SendEnvelopeSent(hash common.Hash) {
|
|
send(EventEnvelopeSent, EnvelopeSignal{hash})
|
|
}
|
|
|
|
// SendEnvelopeExpired triggered when envelope delivered at least to 1 peer.
|
|
func SendEnvelopeExpired(hash common.Hash) {
|
|
send(EventEnvelopeExpired, EnvelopeSignal{hash})
|
|
}
|
|
|
|
// SendMailServerRequestCompleted triggered when mail server response has been received
|
|
func SendMailServerRequestCompleted(hash common.Hash) {
|
|
send(EventMailServerRequestCompleted, EnvelopeSignal{hash})
|
|
}
|
|
|
|
// SendMailServerRequestExpired triggered when mail server request expires
|
|
func SendMailServerRequestExpired(hash common.Hash) {
|
|
send(EventMailServerRequestExpired, EnvelopeSignal{hash})
|
|
}
|