Merge pull request #5 from fluencelabs/backend_c

desing improvements
This commit is contained in:
vms 2019-08-20 16:50:57 +02:00 committed by GitHub
commit e81ad192d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 15 deletions

View File

@ -6,7 +6,7 @@ CFLAGS = -nostartfiles -fvisibility=hidden
LDFLAGS = -Wl,--no-entry,--demangle,--allow-undefined
EXPORT_FUNCS = --export=allocate,--export=deallocate,--export=invoke
SDK = sdk/allocator.c sdk/logger.c
SRC = src/main.c src/model.c
SRC = src/main.c src/model.c src/utils.c
LIBS = libs/tiny-json/tiny-json.c
.PHONY: default all clean

View File

@ -43,6 +43,7 @@ JSON
echo -e "Sending post: $JSON"
# Send json as a request, and receive result
RESPONSE=$(curl -s 'http://localhost:30000/apps/0/tx' --data $'sessionId/0\n'"$JSON" --compressed)
echo "asd"
RESPONSE=$(echo "$RESPONSE" | jq -r .result.data | base64 --decode 2>/dev/null || echo "$RESPONSE")
# Parse json or print response as is
echo "$RESPONSE" | jq . 2>/dev/null || echo "$RESPONSE"

View File

@ -1,5 +1,5 @@
#include "model.h"
#include "../sdk/allocator.h"
#include "utils.h"
#include "../sdk/logger.h"
#include "../sdk/syscalls_stubs.c"
#include "../libs/tiny-json/tiny-json.h"
@ -7,19 +7,6 @@
#include <string.h>
#include <stdlib.h>
char *prepare_response(const char *response, int response_length) {
const int RESPONSE_SIZE_BYTES = 4;
char *result = (char *)allocate(response_length + RESPONSE_SIZE_BYTES);
for(int i = 0; i < RESPONSE_SIZE_BYTES; ++i) {
result[i] = (response_length >> 8*i) & 0xFF;
}
memcpy(result + RESPONSE_SIZE_BYTES, response, response_length);
return result;
}
const char *add_post_request(const json_t *json);
const char *fetch_posts_request(const json_t *json);

18
backend-c/src/utils.c Normal file
View File

@ -0,0 +1,18 @@
#include "utils.h"
#include "../sdk/allocator.h"
#include <string.h>
#include <stdlib.h>
char *prepare_response(const char *response, int response_length) {
const int RESPONSE_SIZE_BYTES = 4;
char *result = (char *)allocate(response_length + RESPONSE_SIZE_BYTES);
for(int i = 0; i < RESPONSE_SIZE_BYTES; ++i) {
result[i] = (response_length >> 8*i) & 0xFF;
}
memcpy(result + RESPONSE_SIZE_BYTES, response, response_length);
return result;
}

6
backend-c/src/utils.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef FLUID_UTILS_H
#define FLUID_UTILS_H
char *prepare_response(const char *response, int response_length);
#endif //FLUID_UTILS_H