Allow optional KeyChain and SigningInfo
In ProducerBase, the m_segmentPublisher is initialized with a default KeyChain. The constructor does not allow the caller to specify the KeyChain or the SigningInfo.
Also, SegmentPublisher::publish has an optional signingInfo parameter, but this is never used.
Did you intend to hardwire PSync to only be able to use the default signing identity? This could be a problem for some applications. If it wasn't intentional, then you can add optional keyChain and signingInfo parameters to FullProducer and PartialProducer. Alternatively, if PSync is restricted to the default KeyChain and SigningInfo, I think this should be mentioned in the class description.