def describe_instances(self, parameters, secret):
    parameters, secret = self.__validate_args(parameters, secret)

    if self.secret != secret:
      return self.__generate_response(False, self.REASON_BAD_SECRET)

    for param in self.DESCRIBE_INSTANCES_REQUIRED_PARAMS:
      if not utils.has_parameter(param, parameters):
        return self.__generate_response(False, 'no ' + param)

    reservation_id = parameters[self.PARAM_RESERVATION_ID]
    if self.reservations.has_key(reservation_id):
      return self.reservations.get(reservation_id)
    else:
      return self.__generate_response(False, self.REASON_RESERVATION_NOT_FOUND)
Parses data from socket_read() and stores packet objects in cls.incoming_packets
dataset/ETHPy150Open AppScale/appscale/InfrastructureManager/infrastructure_manager.py/InfrastructureManager.describe_instances--crossover with--dataset/ETHPy150Open f4ble/pyarc/ark/steam/steam_socket_core.py/SteamSocketCore._parse_socket_data