code: func (s *session) handlePacket(p *receivedPacket) {
  	if s.closed.Get() {
  		s.handlePacketAfterClosed(p)
  	}
  	// Discard packets once the amount of queued packets is larger than
  	// the channel size, protocol.MaxSessionUnprocessedPackets
  	select {
  	case s.receivedPackets <- p:
  	default:
  	}
  }
docs: // handlePacket is called by the server with a new packet