code: func (handle *MemifPacketHandle) WritePacketData(data []byte) (err error) {
  	handle.writeMu.Lock()
  	defer handle.writeMu.Unlock()
  
  	if handle.stop {
  		err = io.EOF
  		return
  	}
  
  	count, err := handle.memif.TxBurst(handle.queueId, []RawPacketData{data})
  
  	if err != nil {
  		return
  	}
  
  	if count == 0 {
  		err = io.EOF
  	}
  
  	return
  }
docs: // Writes packet data to memif in burst of 1 packet. In case no packet is sent, this method throws io.EOF error and
  // called should stop trying to write packets.