iop/packages/events/events.go
toki a2cee38cfa feat: console events, session handling, and transport improvements
- 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
2026-05-17 06:26:15 +09:00

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(),
}
}