Janus Nanomsg transport plugin. More...
#include "transport.h"
#include <nanomsg/nn.h>
#include <nanomsg/pair.h>
#include <nanomsg/inproc.h>
#include <nanomsg/ipc.h>
#include <nanomsg/pipeline.h>
#include "../debug.h"
#include "../apierror.h"
#include "../config.h"
#include "../mutex.h"
#include "../utils.h"
Data Structures | |
struct | janus_nanomsg_client |
Macros | |
#define | JANUS_NANOMSG_VERSION 1 |
#define | JANUS_NANOMSG_VERSION_STRING "0.0.1" |
#define | JANUS_NANOMSG_DESCRIPTION "This transport plugin adds Nanomsg support to the Janus API." |
#define | JANUS_NANOMSG_NAME "JANUS Nanomsg transport plugin" |
#define | JANUS_NANOMSG_AUTHOR "Meetecho s.r.l." |
#define | JANUS_NANOMSG_PACKAGE "janus.transport.nanomsg" |
#define | BUFFER_SIZE 8192 |
#define | JANUS_NANOMSG_ERROR_INVALID_REQUEST 411 |
#define | JANUS_NANOMSG_ERROR_MISSING_ELEMENT 412 |
#define | JANUS_NANOMSG_ERROR_INVALID_ELEMENT 413 |
#define | JANUS_NANOMSG_ERROR_UNKNOWN_ERROR 499 |
Typedefs | |
typedef struct janus_nanomsg_client | janus_nanomsg_client |
Janus Nanomsg transport plugin.
This is an implementation of a Nanomsg transport for the Janus API. This means that, with the help of this module, local and remote applications can use Nanomsg to make requests to Janus. Note that not all the protocols Nanomsg implements are made available in this plugin: specifically, you'll only be able to use the NN_PAIR
transport mechanism. Future versions may implement more, but for the time being these should be enough to cover most development requirements.
#define BUFFER_SIZE 8192 |
#define JANUS_NANOMSG_AUTHOR "Meetecho s.r.l." |
#define JANUS_NANOMSG_DESCRIPTION "This transport plugin adds Nanomsg support to the Janus API." |
#define JANUS_NANOMSG_ERROR_INVALID_ELEMENT 413 |
#define JANUS_NANOMSG_ERROR_INVALID_REQUEST 411 |
#define JANUS_NANOMSG_ERROR_MISSING_ELEMENT 412 |
#define JANUS_NANOMSG_ERROR_UNKNOWN_ERROR 499 |
#define JANUS_NANOMSG_NAME "JANUS Nanomsg transport plugin" |
#define JANUS_NANOMSG_PACKAGE "janus.transport.nanomsg" |
#define JANUS_NANOMSG_VERSION 1 |
#define JANUS_NANOMSG_VERSION_STRING "0.0.1" |
typedef struct janus_nanomsg_client janus_nanomsg_client |
janus_transport * create | ( | void | ) |
void janus_nanomsg_destroy | ( | void | ) |
int janus_nanomsg_get_api_compatibility | ( | void | ) |
const char * janus_nanomsg_get_author | ( | void | ) |
const char * janus_nanomsg_get_description | ( | void | ) |
const char * janus_nanomsg_get_name | ( | void | ) |
const char * janus_nanomsg_get_package | ( | void | ) |
int janus_nanomsg_get_version | ( | void | ) |
const char * janus_nanomsg_get_version_string | ( | void | ) |
int janus_nanomsg_init | ( | janus_transport_callbacks * | callback, |
const char * | config_path ) |
gboolean janus_nanomsg_is_admin_api_enabled | ( | void | ) |
gboolean janus_nanomsg_is_janus_api_enabled | ( | void | ) |
int janus_nanomsg_send_message | ( | janus_transport_session * | transport, |
void * | request_id, | ||
gboolean | admin, | ||
json_t * | message ) |
void janus_nanomsg_session_claimed | ( | janus_transport_session * | transport, |
guint64 | session_id ) |
void janus_nanomsg_session_created | ( | janus_transport_session * | transport, |
guint64 | session_id ) |
void janus_nanomsg_session_over | ( | janus_transport_session * | transport, |
guint64 | session_id, | ||
gboolean | timeout, | ||
gboolean | claimed ) |
void * janus_nanomsg_thread | ( | void * | data | ) |