syslog-ng source
http-loadbalancer.c File Reference
#include "http-loadbalancer.h"
#include "messages.h"
#include "str-utils.h"
#include <string.h>
#include "compat/curl.h"
Include dependency graph for http-loadbalancer.c:

Enumerations

enum  HttpUrlFormatError { HTTP_URL_FORMAT_ERROR_UNSAFE_TEMPLATE }
 

Functions

gboolean http_lb_target_init (HTTPLoadBalancerTarget *self, const gchar *url, gint index_, GError **error)
 
void http_lb_target_deinit (HTTPLoadBalancerTarget *self)
 
gboolean http_lb_target_is_url_templated (HTTPLoadBalancerTarget *self)
 
const gchar * http_lb_target_get_literal_url (HTTPLoadBalancerTarget *self)
 
void http_lb_target_format_templated_url (HTTPLoadBalancerTarget *self, LogMessage *msg, const LogTemplateOptions *template_options, GString *result)
 
void http_lb_client_init (HTTPLoadBalancerClient *self, HTTPLoadBalancer *lb)
 
void http_lb_client_deinit (HTTPLoadBalancerClient *self)
 
HTTPLoadBalancerTarget * http_load_balancer_choose_target (HTTPLoadBalancer *self, HTTPLoadBalancerClient *lbc)
 
gboolean http_load_balancer_add_target (HTTPLoadBalancer *self, const gchar *url, GError **error)
 
void http_load_balancer_drop_all_targets (HTTPLoadBalancer *self)
 
void http_load_balancer_track_client (HTTPLoadBalancer *self, HTTPLoadBalancerClient *lbc)
 
void http_load_balancer_set_target_failed (HTTPLoadBalancer *self, HTTPLoadBalancerTarget *target)
 
void http_load_balancer_set_target_successful (HTTPLoadBalancer *self, HTTPLoadBalancerTarget *target)
 
gboolean http_load_balancer_is_url_templated (HTTPLoadBalancer *self)
 
void http_load_balancer_set_recovery_timeout (HTTPLoadBalancer *self, gint recovery_timeout)
 
HTTPLoadBalancer * http_load_balancer_new (void)
 
void http_load_balancer_free (HTTPLoadBalancer *self)
 

Enumeration Type Documentation

◆ HttpUrlFormatError

Enumerator
HTTP_URL_FORMAT_ERROR_UNSAFE_TEMPLATE 

Function Documentation

◆ http_lb_client_deinit()

void http_lb_client_deinit ( HTTPLoadBalancerClient *  self)

◆ http_lb_client_init()

void http_lb_client_init ( HTTPLoadBalancerClient *  self,
HTTPLoadBalancer *  lb 
)

◆ http_lb_target_deinit()

void http_lb_target_deinit ( HTTPLoadBalancerTarget *  self)

◆ http_lb_target_format_templated_url()

void http_lb_target_format_templated_url ( HTTPLoadBalancerTarget *  self,
LogMessage *  msg,
const LogTemplateOptions *  template_options,
GString *  result 
)

◆ http_lb_target_get_literal_url()

const gchar* http_lb_target_get_literal_url ( HTTPLoadBalancerTarget *  self)

◆ http_lb_target_init()

gboolean http_lb_target_init ( HTTPLoadBalancerTarget *  self,
const gchar *  url,
gint  index_,
GError **  error 
)

◆ http_lb_target_is_url_templated()

gboolean http_lb_target_is_url_templated ( HTTPLoadBalancerTarget *  self)

◆ http_load_balancer_add_target()

gboolean http_load_balancer_add_target ( HTTPLoadBalancer *  self,
const gchar *  url,
GError **  error 
)

◆ http_load_balancer_choose_target()

HTTPLoadBalancerTarget* http_load_balancer_choose_target ( HTTPLoadBalancer *  self,
HTTPLoadBalancerClient *  lbc 
)

◆ http_load_balancer_drop_all_targets()

void http_load_balancer_drop_all_targets ( HTTPLoadBalancer *  self)

◆ http_load_balancer_free()

void http_load_balancer_free ( HTTPLoadBalancer *  self)

◆ http_load_balancer_is_url_templated()

gboolean http_load_balancer_is_url_templated ( HTTPLoadBalancer *  self)

◆ http_load_balancer_new()

HTTPLoadBalancer* http_load_balancer_new ( void  )

◆ http_load_balancer_set_recovery_timeout()

void http_load_balancer_set_recovery_timeout ( HTTPLoadBalancer *  self,
gint  recovery_timeout 
)

◆ http_load_balancer_set_target_failed()

void http_load_balancer_set_target_failed ( HTTPLoadBalancer *  self,
HTTPLoadBalancerTarget *  target 
)

◆ http_load_balancer_set_target_successful()

void http_load_balancer_set_target_successful ( HTTPLoadBalancer *  self,
HTTPLoadBalancerTarget *  target 
)

◆ http_load_balancer_track_client()

void http_load_balancer_track_client ( HTTPLoadBalancer *  self,
HTTPLoadBalancerClient *  lbc 
)