Initial version.

This commit is contained in:
Igor Sysoev
2017-01-17 20:00:00 +03:00
commit 16cbf3c076
235 changed files with 56359 additions and 0 deletions

43
src/nxt_upstream.c Normal file
View File

@@ -0,0 +1,43 @@
/*
* Copyright (C) Igor Sysoev
* Copyright (C) NGINX, Inc.
*/
#include <nxt_main.h>
typedef struct {
void (*peer_get)(nxt_upstream_peer_t *up);
void (*peer_free)(nxt_upstream_peer_t *up);
} nxt_upstream_name_t;
static const nxt_upstream_name_t nxt_upstream_names[] = {
{ "round_robin", &nxt_upstream_round_robin },
};
void
nxt_upstream_create(nxt_upstream_peer_t *up)
{
/* TODO: dynamic balancer add & lvlhsh */
nxt_upstream_names[0].create(up);
}
void
nxt_upstream_peer(nxt_upstream_peer_t *up)
{
nxt_upstream_t *u;
u = up->upstream;
if (u != NULL) {
u->peer_get(up);
return;
}
nxt_upstream_create(up);
}