-
Thanks for the great work! I’m interested in contributing to connector and adding a Coinbase implementation and wanted to clarify a couple of design points
Thanks so much! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Currently I’m considering migrating the current Iceoryx-based IPC to TCP, as TCP offers greater reliability and compatibility. Additionally, a truly low-latency implementation ultimately requires careful fine-tuning and optimization based on the specific strategy, exchange, and other factors. Since this framework is designed for general use, it’s more practical to treat it as a quick prototyping and testing.
The current design has some flaws and limitations. The design aims to minimize data copies when publishing market data for the same symbol. But, based on my understanding, Iceoryx’s current implementation has a constraint: if you create multiple pub-subs and read from them, you must read sequentially from each one. To simplify this and reduce the overhead of sequential reads, I opted for a single request pub-sub and a single publish pub-sub. But, as you pointed out, this design forces every bot connected to the same connector to receive market data for all subscribed symbols.
Iceoryx doesn’t offer any built-in connection control. We need to implement custom logic to track whether any bots have alive connection to check if the symbol subscription is needed. So currently, there’s no cleanup mechanism for symbol subscriptions. I may prioritize transition to TCP, I'm unsure if I will additionally implement Iceoryx-related features. |
Beta Was this translation helpful? Give feedback.
-
Hi @nkaz001, thanks for the detailed clarification! |
Beta Was this translation helpful? Give feedback.
Currently I’m considering migrating the current Iceoryx-based IPC to TCP, as TCP offers greater reliability and compatibility. Additionally, a truly low-latency implementation ultimately requires careful fine-tuning and optimization based on the specific strategy, exchange, and other factors. Since this framework is designed for general use, it’s more practical to treat it as a quick prototyping and testing.