diff options
| author | Uros Majstorovic <majstor@majstor.org> | 2022-03-15 04:34:50 +0100 | 
|---|---|---|
| committer | Uros Majstorovic <majstor@majstor.org> | 2022-03-15 04:34:50 +0100 | 
| commit | fbb5a477eaed7a4dc0a8adf2785c20653f064af7 (patch) | |
| tree | e1137fadf5735e8c5b90a3ca25ef5e516f352639 /ecp/test | |
| parent | 620c0560567b1143afb0477c6c2ec9f44ab63a77 (diff) | |
basic test passed
Diffstat (limited to 'ecp/test')
| -rw-r--r-- | ecp/test/Makefile | 2 | ||||
| -rw-r--r-- | ecp/test/basic.c | 73 | ||||
| -rw-r--r-- | ecp/test/init.c | 29 | 
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; +}  | 
