🖥️ Removes event registration

This commit is contained in:
Rune Harlyk
2024-06-17 23:06:50 +02:00
committed by Rune Harlyk
parent efb45218af
commit cac70f5707
9 changed files with 3 additions and 63 deletions
@@ -30,7 +30,6 @@ class AnalyticsService
void begin()
{
_socket->registerEvent(EVENT_ANALYTICS);
};
void loop()
@@ -19,7 +19,6 @@ BatteryService::BatteryService(EventSocket *socket) : _socket(socket)
void BatteryService::begin()
{
_socket->registerEvent(EVENT_BATTERY);
}
void BatteryService::batteryEvent()
@@ -106,8 +106,6 @@ DownloadFirmwareService::DownloadFirmwareService(PsychicHttpServer *server,
void DownloadFirmwareService::begin()
{
_socket->registerEvent(EVENT_DOWNLOAD_OTA);
_server->on(GITHUB_FIRMWARE_PATH,
HTTP_POST,
_securityManager->wrapCallback(
@@ -40,7 +40,6 @@ public:
void begin()
{
_socket->registerEvent(_event);
_socket->onEvent(_event, std::bind(&EventEndpoint::updateState, this, std::placeholders::_1, std::placeholders::_2));
_socket->onSubscribe(_event, std::bind(&EventEndpoint::syncState, this, std::placeholders::_1, std::placeholders::_2));
}
+3 -45
View File
@@ -21,19 +21,6 @@ void EventSocket::begin()
ESP_LOGV("EventSocket", "Registered event socket endpoint: %s", EVENT_SERVICE_PATH);
}
void EventSocket::registerEvent(String event)
{
if (!isEventValid(event))
{
ESP_LOGV("EventSocket", "Registering event: %s", event.c_str());
events.push_back(event);
}
else
{
ESP_LOGW("EventSocket", "Event already registered: %s", event.c_str());
}
}
void EventSocket::onWSOpen(PsychicWebSocketClient *client)
{
ESP_LOGI("EventSocket", "ws[%s][%u] connect", client->remoteIP().toString().c_str(), client->socket());
@@ -67,15 +54,8 @@ esp_err_t EventSocket::onFrame(PsychicWebSocketRequest *request, httpd_ws_frame
if (event == "subscribe")
{
// only subscribe to events that are registered
if (isEventValid(doc["data"].as<String>()))
{
client_subscriptions[doc["data"]].push_back(request->client()->socket());
handleSubscribeCallbacks(doc["data"], String(request->client()->socket()));
}
else
{
ESP_LOGW("EventSocket", "Client tried to subscribe to unregistered event: %s", doc["data"].as<String>().c_str());
}
client_subscriptions[doc["data"]].push_back(request->client()->socket());
handleSubscribeCallbacks(doc["data"], String(request->client()->socket()));
}
else if (event == "unsubscribe")
{
@@ -104,13 +84,6 @@ void EventSocket::emit(const char *event, const char *payload)
void EventSocket::emit(const char *event, const char *payload, const char *originId, bool onlyToSameOrigin)
{
// Only process valid events
if (!isEventValid(String(event)))
{
ESP_LOGW("EventSocket", "Method tried to emit unregistered event: %s", event);
return;
}
int originSubscriptionId = originId[0] ? atoi(originId) : -1;
xSemaphoreTake(clientSubscriptionsMutex, portMAX_DELAY);
auto &subscriptions = client_subscriptions[event];
@@ -171,26 +144,11 @@ void EventSocket::handleSubscribeCallbacks(String event, const String &originId)
void EventSocket::onEvent(String event, EventCallback callback)
{
if (!isEventValid(event))
{
ESP_LOGW("EventSocket", "Method tried to register unregistered event: %s", event.c_str());
return;
}
event_callbacks[event].push_back(callback);
}
void EventSocket::onSubscribe(String event, SubscribeCallback callback)
{
if (!isEventValid(event))
{
ESP_LOGW("EventSocket", "Method tried to subscribe to unregistered event: %s", event.c_str());
return;
}
subscribe_callbacks[event].push_back(callback);
ESP_LOGI("EventSocket", "onSubscribe for event: %s", event.c_str());
}
bool EventSocket::isEventValid(String event)
{
return std::find(events.begin(), events.end(), event) != events.end();
}
}
-5
View File
@@ -20,8 +20,6 @@ public:
void begin();
void registerEvent(String event);
void onEvent(String event, EventCallback callback);
void onSubscribe(String event, SubscribeCallback callback);
@@ -39,15 +37,12 @@ private:
SecurityManager *_securityManager;
AuthenticationPredicate _authenticationPredicate;
std::vector<String> events;
std::map<String, std::list<int>> client_subscriptions;
std::map<String, std::list<EventCallback>> event_callbacks;
std::map<String, std::list<SubscribeCallback>> subscribe_callbacks;
void handleEventCallbacks(String event, JsonObject &jsonObject, int originId);
void handleSubscribeCallbacks(String event, const String &originId);
bool isEventValid(String event);
void onWSOpen(PsychicWebSocketClient *client);
void onWSClose(PsychicWebSocketClient *client);
esp_err_t onFrame(PsychicWebSocketRequest *request, httpd_ws_frame *frame);
-1
View File
@@ -27,7 +27,6 @@ public:
void begin()
{
_socket->registerEvent(EVENT_IMU);
#if FT_ENABLED(FT_IMU)
_imu.initialize();
imu_success = _imu.testConnection();
@@ -30,11 +30,6 @@ class MotionService
void begin()
{
_socket->registerEvent(INPUT_EVENT);
_socket->registerEvent(ANGLES_EVENT);
_socket->registerEvent(MODE_EVENT);
_socket->registerEvent(POSITION_EVENT);
_socket->onEvent(INPUT_EVENT, [&](JsonObject &root, int originId) { handleInput(root, originId); });
_socket->onEvent(MODE_EVENT, [&](JsonObject &root, int originId) { handleMode(root, originId); });
@@ -48,8 +48,6 @@ void WiFiSettingsService::initWiFi()
void WiFiSettingsService::begin()
{
_socket->registerEvent(EVENT_RSSI);
_httpEndpoint.begin();
_eventEndpoint.begin();
}