Janus WebSockets transport plugin. More...
#include "transport.h"
#include <arpa/inet.h>
#include <net/if.h>
#include <ifaddrs.h>
#include <libwebsockets.h>
#include "../debug.h"
#include "../apierror.h"
#include "../config.h"
#include "../mutex.h"
#include "../utils.h"
Data Structures | |
struct | janus_websockets_client |
Macros | |
#define | JANUS_WEBSOCKETS_VERSION 1 |
#define | JANUS_WEBSOCKETS_VERSION_STRING "0.0.1" |
#define | JANUS_WEBSOCKETS_DESCRIPTION "This transport plugin adds WebSockets support to the Janus API via libwebsockets." |
#define | JANUS_WEBSOCKETS_NAME "JANUS WebSockets transport plugin" |
#define | JANUS_WEBSOCKETS_AUTHOR "Meetecho s.r.l." |
#define | JANUS_WEBSOCKETS_PACKAGE "janus.transport.websockets" |
#define | JANUS_WEBSOCKETS_ERROR_INVALID_REQUEST 411 |
#define | JANUS_WEBSOCKETS_ERROR_MISSING_ELEMENT 412 |
#define | JANUS_WEBSOCKETS_ERROR_INVALID_ELEMENT 413 |
#define | JANUS_WEBSOCKETS_ERROR_UNKNOWN_ERROR 499 |
#define | CASE_STR(name) case name: return #name |
#define | MESSAGE_CHUNK_SIZE 2800 |
Typedefs | |
typedef struct janus_websockets_client | janus_websockets_client |
Janus WebSockets transport plugin.
session_id
and handle_id
. That is, where you'd send a Janus request related to a specific session to the /janus/<session>
path, with WebSockets you'd have to send the same request with an additional session_id
field in the JSON payload. The same applies for the handle. The JavaScript library (janus.js) implements all of this on the client side automatically. #define CASE_STR | ( | name | ) | case name: return #name |
#define JANUS_WEBSOCKETS_AUTHOR "Meetecho s.r.l." |
#define JANUS_WEBSOCKETS_DESCRIPTION "This transport plugin adds WebSockets support to the Janus API via libwebsockets." |
#define JANUS_WEBSOCKETS_ERROR_INVALID_ELEMENT 413 |
#define JANUS_WEBSOCKETS_ERROR_INVALID_REQUEST 411 |
#define JANUS_WEBSOCKETS_ERROR_MISSING_ELEMENT 412 |
#define JANUS_WEBSOCKETS_ERROR_UNKNOWN_ERROR 499 |
#define JANUS_WEBSOCKETS_NAME "JANUS WebSockets transport plugin" |
#define JANUS_WEBSOCKETS_PACKAGE "janus.transport.websockets" |
#define JANUS_WEBSOCKETS_VERSION 1 |
#define JANUS_WEBSOCKETS_VERSION_STRING "0.0.1" |
#define MESSAGE_CHUNK_SIZE 2800 |
typedef struct janus_websockets_client janus_websockets_client |
janus_transport* create | ( | void | ) |
void janus_websockets_destroy | ( | void | ) |
int janus_websockets_get_api_compatibility | ( | void | ) |
const char * janus_websockets_get_author | ( | void | ) |
const char * janus_websockets_get_description | ( | void | ) |
const char * janus_websockets_get_name | ( | void | ) |
const char * janus_websockets_get_package | ( | void | ) |
int janus_websockets_get_version | ( | void | ) |
const char * janus_websockets_get_version_string | ( | void | ) |
int janus_websockets_init | ( | janus_transport_callbacks * | callback, |
const char * | config_path | ||
) |
gboolean janus_websockets_is_admin_api_enabled | ( | void | ) |
gboolean janus_websockets_is_janus_api_enabled | ( | void | ) |
int janus_websockets_send_message | ( | janus_transport_session * | transport, |
void * | request_id, | ||
gboolean | admin, | ||
json_t * | message | ||
) |
void janus_websockets_session_claimed | ( | janus_transport_session * | transport, |
guint64 | session_id | ||
) |
void janus_websockets_session_created | ( | janus_transport_session * | transport, |
guint64 | session_id | ||
) |
void janus_websockets_session_over | ( | janus_transport_session * | transport, |
guint64 | session_id, | ||
gboolean | timeout, | ||
gboolean | claimed | ||
) |
void * janus_websockets_thread | ( | void * | data | ) |