Exemplo n.º 1
0
getblockresult_t s3be::get_all(const blockidlist_t &ids)
{
    getblockresult_t ret;

    std::vector<nodeid_t> queried_ids;
    std::vector<GetObjectOutcomeCallable> ops;
    queried_ids.reserve(ids.size());
    ops.reserve(ids.size());

    // Look in the cache, query only if not found in the cache
    for (int i = 0; i < ids.size(); i++)
    {
        mempage cached;
        if (m_cache.get(ids[i], &cached))
            ret[ids[i]] = cached;
        else
        {
            queried_ids.push_back(ids[i]);
            ops.push_back(get_one(ids[i]));
        }

    }

    // Collect results
    for (int i = 0; i < queried_ids.size(); i++)
    {
        GetObjectOutcome response = ops[i].get();
        ret[queried_ids[i]] = readGetOutcome(queried_ids[i], response);
    }

    return ret;
}
Exemplo n.º 2
0
int main( int argc, char **argv, char **env )
{
    int urls_to_get;
    get_cmd_line_args( argc, argv, &urls_to_get );
    pid_t *child_handles =
        (pid_t *)malloc( urls_to_get * sizeof(child_handles[0]) );

    for( int i = 0; i < urls_to_get; ++i )
    {
        child_handles[i] = get_one( i );
    }
    printf( "\nErrors in thread creation? %d\n", error_count );

    for( int i = 0; i < urls_to_get; ++i )
    {
        int thread_return;
        pid_t p = waitpid( child_handles[i], NULL, 0 );
        if( p == -1 )
        {
            printf( "ERROR IN wait %d\n", errno );
            ++error_count;
        }
    }
    printf( "\nERROR COUNT: %d\n", error_count );
    return 0;
}
Exemplo n.º 3
0
		int add_team_member_cnt(uint32_t team_id)
		{
			uint32_t count = 0;
			get_one(team_id, &count);

			if (count) {
				GEN_SQLSTR(sqlstr, "update %s set member_cnt=member_cnt + 1 where team_id =%u;",
					this->get_table_name(), team_id);
			} else {
				GEN_SQLSTR(sqlstr, "insert into %s (team_id, member_cnt) values (%u, %u)",
						this->get_table_name(), team_id, 1);
			}

			return this->exec_update_sql(this->sqlstr, GF_CONTEST_TEAM_ERR);
		}
Exemplo n.º 4
0
MYSQL_TIME *unpack_time(longlong packed, MYSQL_TIME *my_time)
{
  if ((my_time->neg= packed < 0))
    packed= -packed;
  get_one(my_time->second_part, 1000000ULL);
  get_one(my_time->second,           60ULL);
  get_one(my_time->minute,           60ULL);
  get_one(my_time->hour,             24ULL);
  get_one(my_time->day,              32ULL);
  get_one(my_time->month,            13ULL);
  my_time->year= (uint)packed;
  my_time->time_type= MYSQL_TIMESTAMP_DATETIME;
  return my_time;
}
Exemplo n.º 5
0
/**
 * rtc_set_time_internal() - set time or date or alarm date and time
 *
 * @type:	what should be set (RTC_SECOND, RTC_MINUTE, RTC_YEAR ...)
 * @offset:	offset of the SECOND register (set for alarm because the registers
 *			have offsets and are not equal to RTC_SECOND)
 * @val:	value to set as binary value (not bcd)
 *
 *		Backend for rtc_set_time and rtc_set_alarm0_time
 *
 *		Return: TWI_OK on success, TWI_ERR on error
 */
static uint8_t rtc_set_time_internal(uint8_t type, uint8_t offset, uint8_t val)
{
	uint8_t ret = 0;
	uint8_t one = get_one(val);
	uint8_t ten = get_ten(val);

	uint8_t temp;
	uint8_t write_val;
	switch (type)	{
		case RTC_SECOND:
			ret |= rtc_read_register(RTC_RTCSEC + offset, &temp);
			if (ret != TWI_OK)
				return ret;
			write_val = (temp & 0b10000000) | ((ten & 0b111) << 4) | one;
			ret |= rtc_write_register(RTC_RTCSEC + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
		case RTC_MINUTE:
			write_val = ((ten & 0b111) << 4) | one;
			ret |= rtc_write_register(RTC_RTCMIN + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
		case RTC_HOUR:
			ret |= rtc_read_register(RTC_RTCHOUR + offset, &temp);
			if (ret != TWI_OK)
				return ret;
			write_val = (temp & 0b01000000) | ((ten & 0b11) << 4) | one;
			ret |= rtc_write_register(RTC_RTCHOUR + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
		case RTC_WEEKDAY:
			ret |= rtc_read_register(RTC_RTCWKDAY + offset, &temp);
			if (ret != TWI_OK)
				return ret;
			write_val = (temp & 0b11111000) | one;
			ret |= rtc_write_register(RTC_RTCWKDAY + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
		case RTC_DATE:
			write_val = ((ten & 0b11) << 4) | one;
			ret |= rtc_write_register(RTC_RTCDATE + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
		case RTC_MONTH:
			ret |= rtc_read_register(RTC_RTCMONTH + offset, &temp);
			if (ret != TWI_OK)
				return ret;
			write_val = (temp & 0b00100000) | ((ten & 0b1) << 4) | one;
			ret |= rtc_write_register(RTC_RTCMONTH + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
		case RTC_YEAR:
			write_val = (ten << 4) | one;
			ret |= rtc_write_register(RTC_RTCYEAR + offset, write_val);
			if (ret != TWI_OK)
				return ret;
			break;
	}
	return ret;
}