code: func (c *Conn) handleDisconnectRequest(s sigCmd) {
  	var req DisconnectRequest
  	if err := req.Unmarshal(s.data()); err != nil {
  		return
  	}
  
  	// Send Command Reject when the DCID is unrecognized.
  	if req.DestinationCID != cidLEAtt {
  		endpoints := make([]byte, 4)
  		binary.LittleEndian.PutUint16(endpoints, req.SourceCID)
  		binary.LittleEndian.PutUint16(endpoints, req.DestinationCID)
  		c.sendResponse(
  			SignalCommandReject,
  			s.id(),
  			&CommandReject{
  				Reason: 0x0002, // Invalid CID in request
  				Data:   endpoints,
  			})
  		return
  	}
  
  	// Silently discard the request if SCID failed to find the same match.
  	if req.SourceCID != cidLEAtt {
  		return
  	}
  
  	c.sendResponse(
  		SignalDisconnectResponse,
  		s.id(),
  		&DisconnectResponse{
  			DestinationCID: req.DestinationCID,
  			SourceCID:      req.SourceCID,
  		})
  }
docs: // DisconnectRequest implements Disconnect Request (0x06) [Vol 3, Part A, 4.6].