code: func (kcp *KCP) PeekSize() (length int) {
  	if len(kcp.rcv_queue) == 0 {
  		return -1
  	}
  
  	seg := &kcp.rcv_queue[0]
  	if seg.frg == 0 {
  		return len(seg.data)
  	}
  
  	if len(kcp.rcv_queue) < int(seg.frg+1) {
  		return -1
  	}
  
  	for k := range kcp.rcv_queue {
  		seg := &kcp.rcv_queue[k]
  		length += len(seg.data)
  		if seg.frg == 0 {
  			break
  		}
  	}
  	return
  }
docs: // PeekSize checks the size of next message in the recv queue