Marina Spivak made the following observation: these classes and implementation seem nearly identical to those in EC_Reactive_ConsumerControl.* The only differences are using consumer_admin collection vs supplier_admin, and calling disconnect_push_consumer vs disconnect_push_supplier ... Seems like it may be a good idea to change some naming and templatize...
The same templates should be used for the Notification and COS Event services.
Under some platforms, notably Linux, the fragmentation code in this method is woefully naive. The fragments are sent it a big burst, unfortunately, that can fill up the local kernel buffer before all the data is sent. In those circumstances some of the fragments are silently (gulp!) dropped by the kernel, check the documentation for sendto(2) specially the ENOBUFS error condition. There is no easy solution that I know off, except "pacing" the fragments, i.e. never sending more than a prescribed number of bytes per-second, sleeping before sending more or queueing them to send later via the reactor.
This class is an ACE_Service_Object, but the only reason for it is the need for easy configuration using files. Since ACE_Service_Object provides much more than that, we should look into replacing it with a more lightweight utility that would serve our needs.