Catch errors.
This commit is contained in:
parent
b4544a79fe
commit
18ca002ef6
@ -44,7 +44,6 @@ struct user {
|
||||
struct message {
|
||||
const char *msg; ///< The text message.
|
||||
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.
|
||||
};
|
||||
|
||||
@ -53,8 +52,11 @@ struct message {
|
||||
* number will be used.
|
||||
*
|
||||
* @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.
|
||||
@ -129,6 +131,17 @@ struct message *NeoComm_get_next_message(const char *channel_name);
|
||||
*/
|
||||
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.
|
||||
*
|
||||
|
19
src/node.cpp
19
src/node.cpp
@ -24,18 +24,35 @@
|
||||
#include <opendht.h>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <stdexcept>
|
||||
|
||||
extern "C" {
|
||||
#include <gnutls/gnutls.h>
|
||||
}
|
||||
|
||||
#define DEFAULT_PORT 1335
|
||||
|
||||
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),
|
||||
dht::crypto::generateIdentity(), true);
|
||||
} catch(const std::exception &e) {
|
||||
add_error(e.what());
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void NeoComm_deinit() {
|
||||
node.join();
|
||||
#ifdef WOE32
|
||||
gnutls_global_deinit();
|
||||
#endif //WOE32
|
||||
}
|
||||
|
||||
int NeoComm_connect(const char *address, const unsigned short port) {
|
||||
|
Loading…
Reference in New Issue
Block a user