Nombre d'éléments dans un canal

À l'aide d'un tampon de canal, comment mesurer la façon dont de nombreux éléments sont dans le canal? Par exemple, je suis de la création et de l'envoi sur un canal comme ceci:

send_ch := make(chan []byte, 100)
//code
send_ch <- msg

Je veux mesurer combien msgs sont dans le canal send_ch.

Je suis conscient qu'en raison de la simultanéité de la mesure ne sera pas exact, comme le droit de préemption pourrait survenir entre la mesure et de l'action (par exemple discuté dans cette vidéo Google I/O 2012 - Aller Modes D'Accès Concurrentiel). Je vais utiliser cette pour le contrôle de flux entre les producteurs et les consommateurs ie une fois que j'ai passé à travers une ligne des hautes eaux, la modification de certains comportements jusqu'à ce que je passe en retrait au moyen d'une faible filigrane.