in src/main/csharp/Connection.cs [209:228]
internal void ReleaseProducer(ZmqSocket endpoint)
{
// UNREFERENCED_PARAM(endpoint);
ProducerRef producerRef;
string contextBinding = GetProducerContextBinding();
lock(producerCacheLock)
{
if(producerCache.TryGetValue(contextBinding, out producerRef))
{
producerRef.refCount--;
if(producerRef.refCount < 1)
{
producerCache.Remove(contextBinding);
producerRef.producer.Unbind(contextBinding);
producerRef.producer.Dispose();
}
}
}
}