We're currently observing a fair number of undeliverable messages when using the pubsub capability. At a glance, it seems like we should be able to combine libp2p's pubsub.Tracer interface and a semaphore.Weighted to block Publish calls when the receiver's queue is full.