index 39fc85240e7c637817f2495a1e9bea07f62737df..03e58e5e51e25fa4bf9ea747d2f2607f259c9b86 100644 (file)
#ifndef SDB_FRONTEND_CONNECTION_PRIVATE_H
#define SDB_FRONTEND_CONNECTION_PRIVATE_H 1
+#include "frontend/connection.h"
+
#include "core/object.h"
+#include "core/timeseries.h"
+#include "utils/ssl.h"
#include "utils/strbuf.h"
-#include "frontend/connection.h"
#include <inttypes.h>
#include <arpa/inet.h>
+#include <stdlib.h>
+
#ifdef __cplusplus
extern "C" {
#endif
struct sockaddr_storage client_addr;
socklen_t client_addr_len;
+ /* connection handling */
+ ssize_t (*read)(sdb_conn_t *, size_t);
+ ssize_t (*write)(sdb_conn_t *, const void *, size_t);
+ int (*finish)(sdb_conn_t *);
+ sdb_ssl_session_t *ssl_session;
+
/* read buffer */
sdb_strbuf_t *buf;
uint32_t cmd;
uint32_t cmd_len;
+ /* amount of data to skip, e.g., after receiving invalid commands; if this
+ * is non-zero, the 'skip_len' first bytes of 'buf' are invalid */
+ size_t skip_len;
+
sdb_strbuf_t *errbuf;
/* user information */
char *username; /* NULL if the user has not been authenticated */
+ bool ready; /* indicates that startup finished successfully */
};
#define CONN(obj) ((sdb_conn_t *)(obj))