Skip to content

UDP sensor data receiving and TCP request response Implemented#6

Merged
KiruthickK merged 13 commits into
mainfrom
Sequence/StartServiceUDPDataReceiveSequence
Mar 24, 2026
Merged

UDP sensor data receiving and TCP request response Implemented#6
KiruthickK merged 13 commits into
mainfrom
Sequence/StartServiceUDPDataReceiveSequence

Conversation

@KiruthickK

Copy link
Copy Markdown
Owner

Completed the following

  •     UDP data receiving
    
  •     UDP data parsing and validation
    
  •     UDP parsed and validated data storage
    
  •     TCP request
    
  •     TCP request parsing and validation
    
  •     TCP response acquisition from storage
    

Implemented UDP receiving thread along with handshake validation for the sender.
Added udp data sender simution, implemented the data collector thread, which gets notified when the udp data receiver thread receives data and pushes to queue. Then the thread will route the data to sensor data receiver.
…ll DataPool receives the data

Implemented the JSON parsing logic in SensorDataReceiver, created a struct SensorData which will be having the Sensor data present in the JSON. After successful parsing and Validation, the fetched data will be sent to DataPool for storing there.

Changed the name of deploy.sh script to run.sh for match it's action, added coredump in the run script for debugging.
…r JsonParser

As Config Parser contains JSON parsing, and all JSON releated activities should be performed under jsonparser module, it is moved from SensorMoniteringHubManager module to JsonParser module
…RequestService

Implemented code for socket creation and binding (TCP) for Client Request Service, removed NotificationSender module and added ClientRequestService class which will be handling the requests from TCP client and responds them. Modified the config file with extra params for port details to which client will be communicating.
…tion

Implemented till receiving the raw string and sending to clientRequestService for further processing.
Next actions: Parse the string to JSON, set flags regarding which request it is and relevant details during JSON parsing, call the right API from datapool, with the gathered data, form the JSON, make it as string, respond back to the client.
…ation II

 Added JSON parsing for incoming request in JSON parser, added struct (RequestData) for filling and handling request data
…tion III

Added TCP query simulator, started the implementation for RequestParser class for "GET_EVENTS" req (not completed), implemented the filtration of stored data in datapool on basis of zoneid and timestamp (with or without limit param), (for "GET_EVENTS" query)
…tion IV

Implemented the complete flow for TCP req response for GET_EVENTS query
Added implementation for handling TCP queries "GET_STATUS", "GET_STATS"
…pointers directly

Issue details:
    std::function won't accept static method pointers directly
    The ternary result needs both sides to be the exact same type — static methods decay to function pointers, not std::function

Because of this issue. Max memory calculated is 0, so UDP data was not accepting.
Fixed this issue
Added "GET_ZONES" and completed
    UDP data receiving
    UDP data parsing and validation
    UDP parsed and validated data storage
    TCP request
    TCP request parsing and validation
    TCP response acquisition from storage
    TCP response send back to client
@KiruthickK KiruthickK merged commit e8f9380 into main Mar 24, 2026
2 checks passed
@KiruthickK KiruthickK deleted the Sequence/StartServiceUDPDataReceiveSequence branch March 25, 2026 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant