Esempio n. 1
0
int
INKRequestCreate(char *origin_server_host /* return */ , int max_hostname_size,
                 char *origin_server_port /* return */ , int max_portname_size,
                 char *request_buf /* return */ , int max_request_size,
                 void **req_id /* return */ )
{
  User *user;
  int origin_server_num = (lrand48() % my_plugin.num_origin_server);
  long serial_number = generate_serial_number();
  long doc_size = generate_size();

  if (my_plugin.direct) {
    sprintf(origin_server_host, my_plugin.origin_host[origin_server_num]);
    sprintf(origin_server_port, my_plugin.origin_port[origin_server_num]);
    sprintf(request_buf,
            "GET /%d/length%d HTTP/1.0\r\nAccept: */*\r\nHost: %s:%s\r\n\r\n",
            serial_number, doc_size, origin_server_host, origin_server_port);
  } else {
    sprintf(origin_server_host, my_plugin.target_host);
    sprintf(origin_server_port, my_plugin.target_port);
    sprintf(request_buf,
            "GET http://%s:%s/%d/length%d HTTP/1.0\r\nAccept: */*\r\n\r\n",
            my_plugin.origin_host[origin_server_num],
            my_plugin.origin_port[origin_server_num], serial_number, doc_size);
  }
  user = (User *) malloc(sizeof(User));
  user->doc_size_requested = doc_size;
  *req_id = (void *) user;
  my_plugin.requests++;
  return TRUE;
}
Esempio n. 2
0
DumpsterSize gen_out_size(Operation o)
{
	switch (o)
	{
		case PickUp:
		case Replace:
			return generate_size();
		default:
			return none;
	}
}
Esempio n. 3
0
DumpsterSize gen_in_size(Operation o)
{
	switch (o)
	{
		case DropOff:
		case Replace:
			return generate_size();
		default:
			return none;
	}
}