Skip to content

Commit f647cd9

Browse files
committed
Merge pull request #5 from plainlystated/fix_5_second_writes
Open/close a socket per point. We were doing persistent HTTP requests,
2 parents 162c8d9 + 63ee65a commit f647cd9

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

include/tempodb/tempodb.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ tempodb_platform_config * tempodb_platform_create(void);
2626
int tempodb_platform_destroy(tempodb_platform_config *config);
2727
int tempodb_platform_send(tempodb_platform_config *config, const char *command);
2828
int tempodb_platform_read_response(tempodb_platform_config *config, char *buffer, const int buffer_size);
29+
void tempodb_platform_open_socket(tempodb_platform_config *config);
30+
void tempodb_platform_close_socket(tempodb_platform_config *config);
2931

3032
tempodb_config * tempodb_create(const char *key, const char *secret);
3133
void tempodb_destroy(tempodb_config *config);

mocks/platform_mock.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ int tempodb_platform_read_response(tempodb_platform_config *config, char *buffer
4040
return 0;
4141
}
4242

43+
void tempodb_platform_open_socket(tempodb_platform_config *config) {
44+
}
45+
46+
void tempodb_platform_close_socket(tempodb_platform_config *config) {
47+
}
48+
4349
void set_test_response(const char *buffer) {
4450
strncpy(response_buffer, buffer, response_buffer_size);
4551
}

src/tempodb/platform/posix.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <netinet/in.h>
55
#include <netdb.h>
66
#include <arpa/inet.h>
7+
#include <unistd.h>
78

89
static int tempodb_create_socket(void);
910
static struct sockaddr_in * tempodb_addr(void);
@@ -15,7 +16,6 @@ struct tempodb_platform_config {
1516

1617
tempodb_platform_config * tempodb_platform_create(void) {
1718
tempodb_platform_config *config = (tempodb_platform_config *)malloc(sizeof(tempodb_platform_config));
18-
config->sock = tempodb_create_socket();
1919
return config;
2020
}
2121

@@ -25,6 +25,14 @@ int tempodb_platform_destroy(tempodb_platform_config *config)
2525
return 0;
2626
}
2727

28+
void tempodb_platform_open_socket(tempodb_platform_config *config) {
29+
config->sock = tempodb_create_socket();
30+
}
31+
32+
void tempodb_platform_close_socket(tempodb_platform_config *config) {
33+
close(config->sock);
34+
}
35+
2836
int tempodb_platform_read_response(tempodb_platform_config *config, char *buffer, const int buffer_size) {
2937
size_t bytes_read = 0;
3038
size_t bytes_read_part;

src/tempodb/tempodb.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,12 @@ int tempodb_write_by_path(tempodb_config *config, const char *path, const float
140140
}
141141

142142
int tempodb_write(tempodb_config *config, const char *query_buffer, char *response_buffer, const ssize_t response_buffer_size) {
143-
int status = tempodb_platform_send(config->platform_config, query_buffer);
143+
int status;
144+
tempodb_platform_open_socket(config->platform_config);
145+
status = tempodb_platform_send(config->platform_config, query_buffer);
144146
if (status != -1) {
145147
status = tempodb_platform_read_response(config->platform_config, response_buffer, response_buffer_size);
146148
}
149+
tempodb_platform_close_socket(config->platform_config);
147150
return status;
148151
}

0 commit comments

Comments
 (0)