index b27b3dd28bfbfd0324941d1861bc2bdd5d60a8ca..58a2cb4d3e3d06d510927b57b414f37bc3af425c 100644 (file)
#include "utils/error.h"
#include "utils/strbuf.h"
#include "utils/proto.h"
+#include "utils/os.h"
#include <assert.h>
#include <errno.h>
if (conn->fd >= 0)
close(conn->fd);
conn->fd = -1;
-
- sdb_object_deref(SDB_OBJ(conn));
} /* sdb_connection_close */
ssize_t
-sdb_connection_read(sdb_conn_t *conn)
+sdb_connection_handle(sdb_conn_t *conn)
{
ssize_t n = 0;
sdb_conn_set_ctx(NULL);
return n;
-} /* sdb_connection_read */
+} /* sdb_connection_handle */
ssize_t
sdb_connection_send(sdb_conn_t *conn, uint32_t code,
uint32_t msg_len, const char *msg)
{
+ char buf[2 * sizeof(uint32_t) + msg_len];
ssize_t status;
if ((! conn) || (conn->fd < 0))
return -1;
+ if (sdb_proto_marshal(buf, sizeof(buf), code, msg_len, msg) < 0)
+ return -1;
- status = sdb_proto_send_msg(conn->fd, code, msg_len, msg);
+ status = sdb_write(conn->fd, sizeof(buf), buf);
if (status < 0) {
char errbuf[1024];