Skip to content

feat: Add GENERICSYSTEMEVENT support to RealTimeEvent enum and RealTimeEventListener#384

Open
Alex-Nalin wants to merge 2 commits intofinos:mainfrom
Alex-Nalin:feat/genericsystemevent-support
Open

feat: Add GENERICSYSTEMEVENT support to RealTimeEvent enum and RealTimeEventListener#384
Alex-Nalin wants to merge 2 commits intofinos:mainfrom
Alex-Nalin:feat/genericsystemevent-support

Conversation

@Alex-Nalin
Copy link

Closes #383

What

Adds native dispatch support for GENERICSYSTEMEVENT events received via the Symphony datahose.

Why

BDK 2.11.2 silently drops GENERICSYSTEMEVENT with "Received event with an
unknown type" because the event is not registered in the RealTimeEvent enum.
Bot developers who subscribe to this event type via datahose.eventTypes cannot handle it at all without monkey-patching the BDK internals.

Changes

  • abstract_datafeed_loop.py: add GENERICSYSTEMEVENT to RealTimeEvent enum
  • real_time_event_listener.py: add on_generic_system_event no-op + import

The generated models (V4GenericSystemEvent, V4Payload.generic_system_event) already exist — no gen/ changes required.

Testing

Verified end-to-end by subscribing to GENERICSYSTEMEVENT via
POST /agent/v5/events/read and confirming on_generic_system_event is called on the listener with the correct V4GenericSystemEvent payload. Use test_handle_generic_system_event

Example/Sample code

An example specifically for handling GENERICSYSTEMEVENT can be found https://github.com/finos/symphony-bdk-python/tree/main/examples/datafeed/datahose_generic_system_event.py

…meEventListener

Closes finos#383

## What

Adds native dispatch support for `GENERICSYSTEMEVENT` events received via the Symphony datahose.

## Why

BDK 2.11.2 silently drops `GENERICSYSTEMEVENT` with "Received event with an
unknown type" because the event is not registered in the `RealTimeEvent` enum.
Bot developers who subscribe to this event type via `datahose.eventTypes` cannot handle it at all without monkey-patching the BDK internals.

## Changes

- `abstract_datafeed_loop.py`: add `GENERICSYSTEMEVENT` to `RealTimeEvent` enum
- `real_time_event_listener.py`: add `on_generic_system_event` no-op + import

The generated models (`V4GenericSystemEvent`, `V4Payload.generic_system_event`) already exist — no gen/ changes required.

## Testing

Verified end-to-end by subscribing to `GENERICSYSTEMEVENT` via
`POST /agent/v5/events/read` and confirming `on_generic_system_event` is called on the listener with the correct `V4GenericSystemEvent` payload.
…meEventListener

Closes finos#383

## What

Adds native dispatch support for `GENERICSYSTEMEVENT` events received via the Symphony datahose.

## Why

BDK 2.11.2 silently drops `GENERICSYSTEMEVENT` with "Received event with an
unknown type" because the event is not registered in the `RealTimeEvent` enum.
Bot developers who subscribe to this event type via `datahose.eventTypes` cannot handle it at all without monkey-patching the BDK internals.

## Changes

- `abstract_datafeed_loop.py`: add `GENERICSYSTEMEVENT` to `RealTimeEvent` enum
- `real_time_event_listener.py`: add `on_generic_system_event` no-op + import

The generated models (`V4GenericSystemEvent`, `V4Payload.generic_system_event`) already exist — no gen/ changes required.

## Testing

Verified end-to-end by subscribing to `GENERICSYSTEMEVENT` via
`POST /agent/v5/events/read` and confirming `on_generic_system_event` is called on the listener with the correct `V4GenericSystemEvent` payload. Use test_handle_generic_system_event

## Example/Sample code

An example specifically for handling `GENERICSYSTEMEVENT` can be found https://github.com/finos/symphony-bdk-python/tree/main/examples/datafeed/datahose_generic_system_event.py
@linux-foundation-easycla
Copy link

CLA Not Signed

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.

Add GENERICSYSTEMEVENT support to RealTimeEventListener and RealTimeEvent enum

1 participant