Closed zweizeichen closed 5 years ago
We probably should wait a bit until the Rust team gets their async stuff sorted out.
Any update?
Hi there, sorry no ETA. I can try to take a stab at this some time in the next few days, however I can't promise anything.
Took a little fiddling, but it should work now 🙂 Please consider this implementation experimental as I did not invest much time into testing. It would be great if you could provide some feedback after running it in production for a while.
Whenever esi-markets detects an update of an order within a market in a region it saves the matching combination of regionID and typeID. At the moment this mechanism is only used for logging. This describes an endpoint for streaming these combinations as updates occur. Clients like vue43 could then update their local view when receiving such a region/type pair resulting in 'real-time' display of market data. Also, more advanced market statistics could be reactively generated in downstream services such as market-stats (95th percentile...). We could even use that change detection mechanism for implementing an order watching and notification service.
There already is dummy code in esi-markets for this. The 'source' stream could be added to the store or its external interface could be used. Given the fact that the gRPC implementation already has access to the store for querying orders it would be easy to add the source stream to the store instance, too.