From: TazaTek on
I need some help determining if I have the right design pattern, or if
there's a better one I should consider...

I'm designing a stock charting program in C++ and wanted to get some
advice / direction from others that have more experience than I do.

I'm 1st tackling the problem of the incoming real-time datafeed (via
TCP from a provider or in-house sim pumper) that is then routed to
various charts (and other consumers of the data).

I am initially thinking that an Observer/Subject model would work for
this, but I didn't know if there were any "gotchas" to this approach,
or if it's even the right tool for the job.

Speed is a major design consideration, so a push model is likely
favored over a pull model.
(up to 500 symbols getting updated several times/sec)

Are there any other designs or considerations that will allow for a
low latency, high throughput data processor like this?

Are there any examples out there that anyone knows of?

I've found some generalized Observer patterns, but none of them
address specifically a real-time data feed.

Thanks
Matt