Catch errors.
This commit is contained in:
parent
b4544a79fe
commit
18ca002ef6
@ -44,7 +44,6 @@ struct user {
|
|||||||
struct message {
|
struct message {
|
||||||
const char *msg; ///< The text message.
|
const char *msg; ///< The text message.
|
||||||
time_t sent; ///< The time it was sent.
|
time_t sent; ///< The time it was sent.
|
||||||
time_t received; ///< The time it was received.
|
|
||||||
struct user from; ///< Info on the peer who sent the message.
|
struct user from; ///< Info on the peer who sent the message.
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -53,8 +52,11 @@ struct message {
|
|||||||
* number will be used.
|
* number will be used.
|
||||||
*
|
*
|
||||||
* @param port The port for the node to listen on.
|
* @param port The port for the node to listen on.
|
||||||
|
*
|
||||||
|
* @return 1 upon success, 0 upon failure. Use NeoComm_get_last_error for a
|
||||||
|
* text description of the error.
|
||||||
*/
|
*/
|
||||||
void NeoComm_init(const unsigned short port);
|
int NeoComm_init(const unsigned short port);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Deinitialize the local node.
|
* @brief Deinitialize the local node.
|
||||||
@ -129,6 +131,17 @@ struct message *NeoComm_get_next_message(const char *channel_name);
|
|||||||
*/
|
*/
|
||||||
void NeoComm_free_message(struct message *msg);
|
void NeoComm_free_message(struct message *msg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send a message to a channel.
|
||||||
|
*
|
||||||
|
* @param channel_name Name of the channel to send the message to.
|
||||||
|
* @param message A message to send to the channel.
|
||||||
|
*
|
||||||
|
* @return 1 upon success, 0 upon failure. Use NeoComm_get_last_error for a
|
||||||
|
* text description of the error.
|
||||||
|
*/
|
||||||
|
int NeoComm_send_message(const char *channel_name, const char *message);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the last error that occurred in text.
|
* @brief Get the last error that occurred in text.
|
||||||
*
|
*
|
||||||
|
19
src/node.cpp
19
src/node.cpp
@ -24,18 +24,35 @@
|
|||||||
#include <opendht.h>
|
#include <opendht.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include <gnutls/gnutls.h>
|
||||||
|
}
|
||||||
|
|
||||||
#define DEFAULT_PORT 1335
|
#define DEFAULT_PORT 1335
|
||||||
|
|
||||||
dht::DhtRunner node;
|
dht::DhtRunner node;
|
||||||
|
|
||||||
void NeoComm_init(const unsigned short port) {
|
int NeoComm_init(const unsigned short port) {
|
||||||
|
#ifdef WOE32
|
||||||
|
gnutls_global_init();
|
||||||
|
#endif //WOE32
|
||||||
|
try {
|
||||||
node.run((port == 0 ? DEFAULT_PORT : port),
|
node.run((port == 0 ? DEFAULT_PORT : port),
|
||||||
dht::crypto::generateIdentity(), true);
|
dht::crypto::generateIdentity(), true);
|
||||||
|
} catch(const std::exception &e) {
|
||||||
|
add_error(e.what());
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NeoComm_deinit() {
|
void NeoComm_deinit() {
|
||||||
node.join();
|
node.join();
|
||||||
|
#ifdef WOE32
|
||||||
|
gnutls_global_deinit();
|
||||||
|
#endif //WOE32
|
||||||
}
|
}
|
||||||
|
|
||||||
int NeoComm_connect(const char *address, const unsigned short port) {
|
int NeoComm_connect(const char *address, const unsigned short port) {
|
||||||
|
Loading…
Reference in New Issue
Block a user