summaryrefslogtreecommitdiff
path: root/ecp/test
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2022-03-15 04:34:50 +0100
committerUros Majstorovic <majstor@majstor.org>2022-03-15 04:34:50 +0100
commitfbb5a477eaed7a4dc0a8adf2785c20653f064af7 (patch)
treee1137fadf5735e8c5b90a3ca25ef5e516f352639 /ecp/test
parent620c0560567b1143afb0477c6c2ec9f44ab63a77 (diff)
basic test passed
Diffstat (limited to 'ecp/test')
-rw-r--r--ecp/test/Makefile2
-rw-r--r--ecp/test/basic.c73
-rw-r--r--ecp/test/init.c29
3 files changed, 40 insertions, 64 deletions
diff --git a/ecp/test/Makefile b/ecp/test/Makefile
index 20b50e5..ce12a87 100644
--- a/ecp/test/Makefile
+++ b/ecp/test/Makefile
@@ -7,7 +7,7 @@ dep=../build-posix/*.a ../util/libecputil.a
%.o: %.c
$(CC) $(CFLAGS) -c $<
-all: basic dir server echo frag stress vcs vc_server vc_client vc_client_t
+all: basic # dir server echo frag stress vcs vc_server vc_client vc_client_t
basic: basic.o init.o $(dep)
$(CC) -o $@ $< init.o $(dep) $(LDFLAGS)
diff --git a/ecp/test/basic.c b/ecp/test/basic.c
index 0f4e322..2edb174 100644
--- a/ecp/test/basic.c
+++ b/ecp/test/basic.c
@@ -2,7 +2,7 @@
#include <string.h>
#include <unistd.h>
-#include "core.h"
+#include <core.h>
ECPContext ctx_s;
ECPSocket sock_s;
@@ -18,58 +18,48 @@ ECPNode node;
ECPConnection conn;
#define CTYPE_TEST 0
-#define MTYPE_MSG 8
+#define MTYPE_MSG 0
-ssize_t handle_open_c(ECPConnection *conn, ecp_seq_t sq, unsigned char t, unsigned char *p, ssize_t s, ECP2Buffer *b) {
- uint32_t seq = 0;
+int handle_open_c(ECPConnection *conn, ECP2Buffer *b) {
+ char *_msg = "PERA JE CAR!";
+ ssize_t rv;
- ecp_conn_handle_open(conn, sq, t, p, s, b);
- if (s < 0) {
- printf("OPEN ERR:%ld\n", s);
- return s;
- }
+ printf("OPEN\n");
+ rv = ecp_msg_send(conn, MTYPE_MSG, (unsigned char *)_msg, strlen(_msg)+1);
- char *msg = "PERA JE CAR!";
- unsigned char buf[1000];
-
- strcpy((char *)buf, msg);
- ssize_t _rv = ecp_send(conn, MTYPE_MSG, buf, 1000);
-
- return s;
+ return ECP_OK;
}
-ssize_t handle_msg_c(ECPConnection *conn, ecp_seq_t sq, unsigned char t, unsigned char *p, ssize_t s, ECP2Buffer *b) {
- printf("MSG C:%s size:%ld\n", p, s);
- return s;
+ssize_t handle_msg_c(ECPConnection *conn, ecp_seq_t seq, unsigned char mtype, unsigned char *msg, size_t msg_size, ECP2Buffer *b) {
+ printf("MSG C:%s size:%ld\n", msg, msg_size);
+ return msg_size;
}
-ssize_t handle_msg_s(ECPConnection *conn, ecp_seq_t sq, unsigned char t, unsigned char *p, ssize_t s, ECP2Buffer *b) {
- printf("MSG S:%s size:%ld\n", p, s);
-
- char *msg = "VAISTINU JE CAR!";
- unsigned char buf[1000];
+ssize_t handle_msg_s(ECPConnection *conn, ecp_seq_t seq, unsigned char mtype, unsigned char *msg, size_t msg_size, ECP2Buffer *b) {
+ char *_msg = "VAISTINU JE CAR!";
+ ssize_t rv;
- strcpy((char *)buf, msg);
- ssize_t _rv = ecp_send(conn, MTYPE_MSG, buf, 1000);
+ printf("MSG S:%s size:%ld\n", msg, msg_size);
+ rv = ecp_msg_send(conn, MTYPE_MSG, (unsigned char *)_msg, strlen(_msg)+1);
- return s;
+ return msg_size;
}
int main(int argc, char *argv[]) {
int rv;
+ /* server */
rv = ecp_init(&ctx_s);
printf("ecp_init RV:%d\n", rv);
- rv = ecp_conn_handler_init(&handler_s);
- handler_s.msg[MTYPE_MSG] = handle_msg_s;
- ctx_s.handler[CTYPE_TEST] = &handler_s;
+ ecp_conn_handler_init(&handler_s, handle_msg_s, NULL, NULL, NULL);
+ ecp_ctx_set_handler(&ctx_s, &handler_s, CTYPE_TEST);
- rv = ecp_dhkey_gen(&ctx_s, &key_perma_s);
+ rv = ecp_dhkey_gen(&key_perma_s);
printf("ecp_dhkey_gen RV:%d\n", rv);
- rv = ecp_sock_init(&sock_s, &ctx_s, &key_perma_s);
- printf("ecp_sock_init RV:%d\n", rv);
+ rv = ecp_sock_create(&sock_s, &ctx_s, &key_perma_s);
+ printf("ecp_sock_create RV:%d\n", rv);
rv = ecp_sock_open(&sock_s, "0.0.0.0:3000");
printf("ecp_sock_open RV:%d\n", rv);
@@ -77,19 +67,18 @@ int main(int argc, char *argv[]) {
rv = ecp_start_receiver(&sock_s);
printf("ecp_start_receiver RV:%d\n", rv);
+ /* client */
rv = ecp_init(&ctx_c);
printf("ecp_init RV:%d\n", rv);
- rv = ecp_conn_handler_init(&handler_c);
- handler_c.msg[ECP_MTYPE_OPEN] = handle_open_c;
- handler_c.msg[MTYPE_MSG] = handle_msg_c;
- ctx_c.handler[CTYPE_TEST] = &handler_c;
+ ecp_conn_handler_init(&handler_c, handle_msg_c, handle_open_c, NULL, NULL);
+ ecp_ctx_set_handler(&ctx_c, &handler_c, CTYPE_TEST);
- rv = ecp_dhkey_gen(&ctx_c, &key_perma_c);
+ rv = ecp_dhkey_gen(&key_perma_c);
printf("ecp_dhkey_gen RV:%d\n", rv);
- rv = ecp_sock_init(&sock_c, &ctx_c, &key_perma_c);
- printf("ecp_sock_init RV:%d\n", rv);
+ rv = ecp_sock_create(&sock_c, &ctx_c, &key_perma_c);
+ printf("ecp_sock_create RV:%d\n", rv);
rv = ecp_sock_open(&sock_c, NULL);
printf("ecp_sock_open RV:%d\n", rv);
@@ -100,8 +89,8 @@ int main(int argc, char *argv[]) {
rv = ecp_node_init(&node, &key_perma_s.public, "127.0.0.1:3000");
printf("ecp_node_init RV:%d\n", rv);
- rv = ecp_conn_init(&conn, &sock_c, CTYPE_TEST);
- printf("ecp_conn_init RV:%d\n", rv);
+ rv = ecp_conn_create(&conn, &sock_c, CTYPE_TEST);
+ printf("ecp_conn_create RV:%d\n", rv);
rv = ecp_conn_open(&conn, &node);
printf("ecp_conn_open RV:%d\n", rv);
diff --git a/ecp/test/init.c b/ecp/test/init.c
index 7b59578..f4b033a 100644
--- a/ecp/test/init.c
+++ b/ecp/test/init.c
@@ -1,17 +1,10 @@
#include <stdlib.h>
-#include <fcntl.h>
-#include <unistd.h>
+#include <stdio.h>
-#include "core.h"
+#include <core.h>
-static int v_rng(void *buf, size_t bufsize) {
- int fd;
-
- if((fd = open("/dev/urandom", O_RDONLY)) < 0) return -1;
- size_t nb = read(fd, buf, bufsize);
- close(fd);
- if (nb != bufsize) return -1;
- return 0;
+void handle_err(ECPConnection *conn, unsigned char mtype, int err) {
+ printf("ERR: CTYPE:%d MTYPE:%x ERR:%d\n", conn->type, mtype, err);
}
static ECPConnection *conn_alloc(ECPSocket *sock, unsigned char type) {
@@ -21,7 +14,7 @@ static ECPConnection *conn_alloc(ECPSocket *sock, unsigned char type) {
conn = malloc(sizeof(ECPConnection));
if (conn == NULL) return NULL;
- rv = ecp_conn_init(conn, sock, type);
+ rv = ecp_conn_create_inb(conn, sock, type);
if (rv) {
free(conn);
return NULL;
@@ -36,12 +29,6 @@ static void conn_free(ECPConnection *conn) {
int ecp_init(ECPContext *ctx) {
int rv;
- rv = ecp_ctx_init(ctx);
- if (rv) return rv;
-
- ctx->rng = v_rng;
- ctx->conn_alloc = conn_alloc;
- ctx->conn_free = conn_free;
-
- return ECP_OK;
-} \ No newline at end of file
+ rv = ecp_ctx_init(ctx, handle_err, NULL, conn_alloc, conn_free);
+ return rv;
+}