Added NewSignal that extensions can process when a node is newly created

gql_cataclysm
noah metz 2023-08-04 19:47:17 -06:00
parent 0f7a0debd6
commit 7d0af0eb5b
2 changed files with 5 additions and 1 deletions

@ -432,7 +432,9 @@ func NewNode(ctx *Context, key *ecdsa.PrivateKey, node_type NodeType, buffer_siz
} }
if queued_signals == nil { if queued_signals == nil {
queued_signals = []QueuedSignal{} queued_signals = []QueuedSignal{
QueuedSignal{uuid.New(), &NewSignal, time.Now()},
}
} }
next_signal, timeout_chan := SoonestSignal(queued_signals) next_signal, timeout_chan := SoonestSignal(queued_signals)

@ -17,6 +17,7 @@ import (
type SignalDirection int type SignalDirection int
const ( const (
StopSignalType SignalType = "STOP" StopSignalType SignalType = "STOP"
NewSignalType = "NEW"
StartSignalType = "START" StartSignalType = "START"
ErrorSignalType = "ERROR" ErrorSignalType = "ERROR"
StatusSignalType = "STATUS" StatusSignalType = "STATUS"
@ -140,6 +141,7 @@ func NewDirectSignal(signal_type SignalType) BaseSignal {
return NewBaseSignal(signal_type, Direct) return NewBaseSignal(signal_type, Direct)
} }
var NewSignal = NewDirectSignal(NewSignalType)
var StartSignal = NewDirectSignal(StartSignalType) var StartSignal = NewDirectSignal(StartSignalType)
var StopSignal = NewDownSignal(StopSignalType) var StopSignal = NewDownSignal(StopSignalType)