#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
ngx_http_upstream_random_range_t;
ngx_http_upstream_random_srv_conf_t;
ngx_http_upstream_random_peer_data_t;
static ngx_int_t ngx_http_upstream_init_random(ngx_conf_t *cf,
ngx_http_upstream_srv_conf_t *us);
static ngx_int_t ngx_http_upstream_update_random(ngx_pool_t *pool,
ngx_http_upstream_srv_conf_t *us);
static ngx_int_t ngx_http_upstream_init_random_peer(ngx_http_request_t *r,
ngx_http_upstream_srv_conf_t *us);
static ngx_int_t ngx_http_upstream_get_random_peer(ngx_peer_connection_t *pc,
void *data);
static ngx_int_t ngx_http_upstream_get_random2_peer(ngx_peer_connection_t *pc,
void *data);
static ngx_uint_t ngx_http_upstream_peek_random_peer(
ngx_http_upstream_rr_peers_t *peers,
ngx_http_upstream_random_peer_data_t *rp);
static void *ngx_http_upstream_random_create_conf(ngx_conf_t *cf);
static char *ngx_http_upstream_random(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static ngx_command_t ngx_http_upstream_random_commands[] = …;
static ngx_http_module_t ngx_http_upstream_random_module_ctx = …;
ngx_module_t ngx_http_upstream_random_module = …;
static ngx_int_t
ngx_http_upstream_init_random(ngx_conf_t *cf, ngx_http_upstream_srv_conf_t *us)
{ … }
static ngx_int_t
ngx_http_upstream_update_random(ngx_pool_t *pool,
ngx_http_upstream_srv_conf_t *us)
{ … }
static ngx_int_t
ngx_http_upstream_init_random_peer(ngx_http_request_t *r,
ngx_http_upstream_srv_conf_t *us)
{ … }
static ngx_int_t
ngx_http_upstream_get_random_peer(ngx_peer_connection_t *pc, void *data)
{ … }
static ngx_int_t
ngx_http_upstream_get_random2_peer(ngx_peer_connection_t *pc, void *data)
{ … }
static ngx_uint_t
ngx_http_upstream_peek_random_peer(ngx_http_upstream_rr_peers_t *peers,
ngx_http_upstream_random_peer_data_t *rp)
{ … }
static void *
ngx_http_upstream_random_create_conf(ngx_conf_t *cf)
{ … }
static char *
ngx_http_upstream_random(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }