🖥️ Removes event registration
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user