title: golang fifo buffered channel
body: <p>from my understanding: buffered channels in GO are not FIFO when the channel is full.<br>
  I need this behaviour in my application (FIFO behaviour).<br>
  How can I achieve that behaviour? Is there any open source for that?<br>
  Thanks in advance  </p>
  
  <p>EDIT:<br>
  some people disliked the question so let me be more clear:<br>
  I meant that when a buffered channel is full and multiple senders are blocked<br>
  while trying to add items to the channel the order in which they'll be released<br>
  is not FIFO. You can also read this discussion: <a href="https://github.com/golang/go/issues/11506" rel="noreferrer">https://github.com/golang/go/issues/11506</a>  </p>
  
  <p>So yeah, I was looking for a third party library that implements that behaviour.<br>
  Sorry for not being clear.</p>