code: func GetDeviceGatewayRXInfoSet(p *redis.Pool, devEUI lorawan.EUI64) (DeviceGatewayRXInfoSet, error) {
  	var rxInfoSetPB DeviceGatewayRXInfoSetPB
  
  	c := p.Get()
  	defer c.Close()
  
  	val, err := redis.Bytes(c.Do("GET", fmt.Sprintf(deviceGatewayRXInfoSetKeyTempl, devEUI)))
  	if err != nil {
  		if err == redis.ErrNil {
  			return DeviceGatewayRXInfoSet{}, ErrDoesNotExist
  		}
  		return DeviceGatewayRXInfoSet{}, errors.Wrap(err, "get error")
  	}
  
  	err = proto.Unmarshal(val, &rxInfoSetPB)
  	if err != nil {
  		return DeviceGatewayRXInfoSet{}, errors.Wrap(err, "protobuf unmarshal error")
  	}
  
  	return deviceGatewayRXInfoSetFromPB(rxInfoSetPB), nil
  }
docs: // GetDeviceGatewayRXInfoSet returns the DeviceGatewayRXInfoSet for the given
  // Device EUI.