iop/packages/go/events/events.go

39 lines
902 B
Go

package events
import (
"time"
"github.com/google/uuid"
iop "iop/proto/gen/iop"
)
const (
SourceEdge = "edge"
SourceNode = "node"
TypeNodeConnected = "node.connected"
TypeNodeDisconnected = "node.disconnected"
TypeEdgeDisconnected = "edge.disconnected"
ReasonRegistered = "registered"
ReasonTransportClosed = "transport_closed"
ReasonLocalShutdown = "local_shutdown"
ReasonEdgeShutdown = "edge_shutdown"
MetadataTransportCloseReason = "transport_close_reason"
MetadataTransportCloseError = "transport_close_error"
)
func NewEdgeNodeEvent(source, eventType, nodeID, alias, reason string, metadata map[string]string) *iop.EdgeNodeEvent {
return &iop.EdgeNodeEvent{
EventId: uuid.NewString(),
Type: eventType,
Source: source,
NodeId: nodeID,
Alias: alias,
Reason: reason,
Metadata: metadata,
Timestamp: time.Now().UnixNano(),
}
}