- Add console events tracking in edge node - Improve session management in node transport - Add integration tests for edge and node transport - Update events package with new event types - Update README with current status
39 lines
902 B
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(),
|
|
}
|
|
}
|