diff --git a/app.go b/app.go index 8ad1ee3..607f0fd 100644 --- a/app.go +++ b/app.go @@ -370,7 +370,7 @@ func (a *App) Start() { go runIntervals(a) // subscribe to state_changed events - id := internal.GetId() + id := internal.NextId() ws.SubscribeToStateChangedEvents(id, a.wsWriter, a.ctx) a.entityListenersId = id diff --git a/entitylistener.go b/entity_listener.go similarity index 100% rename from entitylistener.go rename to entity_listener.go diff --git a/eventListener.go b/event_listener.go similarity index 100% rename from eventListener.go rename to event_listener.go diff --git a/eventTypes.go b/event_types.go similarity index 100% rename from eventTypes.go rename to event_types.go diff --git a/internal/misc.go b/internal/misc.go index be0e3e0..36f6c05 100644 --- a/internal/misc.go +++ b/internal/misc.go @@ -16,7 +16,9 @@ var ( id atomic.Int64 // default value is 0 ) -func GetId() int64 { +// NextId returns a unique integer (for the given process), often used for providing a uniquely identifiable +// id for a request. This function is thread-safe. +func NextId() int64 { return id.Add(1) } diff --git a/internal/services/event.go b/internal/services/event.go index 4251eda..5007c84 100644 --- a/internal/services/event.go +++ b/internal/services/event.go @@ -23,7 +23,7 @@ type FireEventRequest struct { // as `event_data`. func (e Event) Fire(eventType string, eventData ...map[string]any) error { req := FireEventRequest{ - Id: internal.GetId(), + Id: internal.NextId(), Type: "fire_event", } diff --git a/internal/services/homeassistant.go b/internal/services/home_assistant.go similarity index 100% rename from internal/services/homeassistant.go rename to internal/services/home_assistant.go diff --git a/internal/services/services.go b/internal/services/services.go index 1cf963e..e289135 100644 --- a/internal/services/services.go +++ b/internal/services/services.go @@ -45,8 +45,8 @@ type BaseServiceRequest struct { } func NewBaseServiceRequest(entityId string) BaseServiceRequest { - id := internal.GetId() bsr := BaseServiceRequest{ + id := internal.NextId() Id: id, RequestType: "call_service", } diff --git a/internal/websocket/websocket.go b/internal/websocket/websocket.go index 314c31a..4571c5d 100644 --- a/internal/websocket/websocket.go +++ b/internal/websocket/websocket.go @@ -140,7 +140,7 @@ func SubscribeToStateChangedEvents(id int64, conn *WebsocketWriter, ctx context. func SubscribeToEventType(eventType string, conn *WebsocketWriter, ctx context.Context, id ...int64) { var finalId int64 if len(id) == 0 { - finalId = internal.GetId() + finalId = internal.NextId() } else { finalId = id[0] }