~mm-yuhu/gearmand/server-funcs

« back to all changes in this revision

Viewing changes to libgearman/server.h

  • Committer: Brian Aker
  • Date: 2008-09-15 18:17:17 UTC
  • Revision ID: brian@gir.lan-20080915181717-mb6tl0n8kr8q76gx
Import from HG

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Summary: Server structure used for libgearman.
 
3
 *
 
4
 * Copy: See Copyright for the status of this software.
 
5
 *
 
6
 * Author: Brian Aker
 
7
 */
 
8
 
 
9
#ifndef __GEARMAN_SERVER_H__
 
10
#define __GEARMAN_SERVER_H__
 
11
 
 
12
#ifdef __cplusplus
 
13
extern "C" {
 
14
#endif
 
15
 
 
16
struct gearman_server_st {
 
17
  char hostname[GEARMAN_MAX_HOST_LENGTH];
 
18
  unsigned int port;
 
19
  uint8_t io_death;
 
20
  int fd;
 
21
  int cached_errno;
 
22
  unsigned int cursor_active;
 
23
  char write_buffer[GEARMAN_MAX_BUFFER];
 
24
  size_t write_buffer_offset;
 
25
  char read_buffer[GEARMAN_MAX_BUFFER];
 
26
  size_t read_data_length;
 
27
  size_t read_buffer_length;
 
28
  char *read_ptr;
 
29
  gearman_allocated sockaddr_inited;
 
30
  struct addrinfo *address_info;
 
31
  time_t next_retry;
 
32
  gearman_server_type type;
 
33
  gearman_st *root;
 
34
};
 
35
 
 
36
gearman_return gearman_server_add(gearman_st *ptr, char *hostname, 
 
37
                                  unsigned int port);
 
38
 
 
39
#ifdef GEARMAN_INTERNAL 
 
40
gearman_return gearman_server_add_internal(gearman_server_st *ptr, int fd);
 
41
gearman_return gearman_server_push(gearman_st *ptr, gearman_st *list);
 
42
void server_list_free(gearman_st *ptr, gearman_server_st *servers);
 
43
void gearman_server_free(gearman_server_st *ptr);
 
44
bool gearman_server_buffered(gearman_server_st *ptr);
 
45
#endif 
 
46
 
 
47
gearman_return gearman_server_add(gearman_st *ptr, 
 
48
                                      char *hostname, 
 
49
                                      unsigned int port);
 
50
 
 
51
#define gearman_server_count(A) (A)->number_of_hosts
 
52
#define gearman_server_name(A,B) (B).hostname
 
53
#define gearman_server_port(A,B) (B).port
 
54
#define gearman_server_list(A) (A)->hosts
 
55
#define gearman_server_response_count(A) (A)->cursor_active
 
56
 
 
57
 
 
58
#ifdef __cplusplus
 
59
}
 
60
#endif
 
61
 
 
62
#endif /* __GEARMAN_SERVER_H__ */