event order across disjointed streaming RPCs
Starting with v2.0 watchers are no longer exported. If we were previously watching peer state changes and update messages on a single channel we now have to invoke 2 RPCs, MonitorPeer and MonitorTable. Using these 2 RPCs, event order is no longer guaranteed and bgpServer event time is a best guess.
Time information could be included in the streaming responses and may be a good start, but event order still could not be guaranteed/resolved for init* responses (initUpdate, initPeerState, etc). Thoughts?
We could have API like WatchEvent to register all kinds of events via a single channel. However, every peer has the own channel to send events (updates, state change, etc) to the main goroutine. Thus, there is no guarantee on the order of events on multiple peers even with such API. It works for you?