c-libp2p/test/test_multistream.h

61 lines
1.2 KiB
C
Raw Normal View History

#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
#include "libp2p/net/multistream.h"
int test_multistream_connect() {
int retVal = 0;
char* response;
size_t response_size;
struct Stream* stream = libp2p_net_multistream_connect("www.jmjatlanta.com", 4001);
if (stream == NULL)
goto exit;
retVal = 1;
exit:
return retVal > 0;
}
int test_multistream_get_list() {
2017-03-02 21:14:52 +00:00
int retVal = 0;
unsigned char* response;
size_t response_size;
2017-03-02 21:14:52 +00:00
char* filtered = NULL;
struct SessionContext session;
2017-03-13 13:53:20 +00:00
session.insecure_stream = libp2p_net_multistream_connect("104.131.131.82", 4001);
if (*((int*)session.insecure_stream->socket_descriptor) < 0)
goto exit;
2017-02-02 20:43:35 +00:00
// try to respond something, ls command
const unsigned char* out = "ls\n";
2017-03-13 13:53:20 +00:00
if (libp2p_net_multistream_write(&session, out, strlen((char*)out)) <= 0)
goto exit;
// retrieve response
2017-03-13 13:53:20 +00:00
retVal = libp2p_net_multistream_read(&session, &response, &response_size);
if (retVal <= 0)
goto exit;
2017-03-02 21:14:52 +00:00
filtered = malloc(response_size + 1);
strncpy(filtered, response, response_size);
filtered[response_size] = 0;
fprintf(stdout, "Response from multistream ls: %s", (char*)filtered);
free(filtered);
retVal = 1;
exit:
return retVal > 0;
}