lib_LTLIBRARIES = libblade.la
libblade_la_SOURCES = src/blade.c src/blade_stack.c
libblade_la_SOURCES += src/blade_identity.c src/blade_jsonrpc.c src/blade_connection.c src/blade_session.c
+libblade_la_SOURCES += src/blade_protocol.c
libblade_la_SOURCES += src/blade_transport.c src/blade_transport_wss.c
libblade_la_CFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS)
library_includedir = $(prefix)/include
library_include_HEADERS = src/include/blade.h src/include/blade_types.h src/include/blade_stack.h
library_include_HEADERS += src/include/blade_identity.h src/include/blade_jsonrpc.h src/include/blade_connection.h src/include/blade_session.h
+library_include_HEADERS += src/include/blade_protocol.h
library_include_HEADERS += src/include/blade_transport.h src/include/blade_transport_wss.h
library_include_HEADERS += src/include/unqlite.h test/tap.h
ks_hash_t *session_state_callbacks;
- // @note everything below this point is exclusively for the master node
+ // @note everything below this point is exclusively for the master node
// @todo need to track the details from blade.publish, a protocol may be published under multiple realms, and each protocol published to a realm may have multiple target providers
// @todo how does "exclusive" play into the providers, does "exclusive" mean only one provider can exist for a given protocol and realm?
ks_hash_write_lock(bh->protocols);
- bp = (blade_protocol_t *)ks_hash_search(bh->protocols, bp_key, KS_UNLOCKED);
+ bp = (blade_protocol_t *)ks_hash_search(bh->protocols, (void *)bp_key, KS_UNLOCKED);
if (bp) {
// @todo deal with exclusive stuff when the protocol is already registered
}
ks_hash_insert(bh->protocols, (void *)ks_pstrdup(bh->pool, bp_key), bp);
}
- bp_cleanup = (ks_hash_t *)ks_hash_search(bh->protocols_cleanup, req_params_requester_nodeid, KS_UNLOCKED);
+ bp_cleanup = (ks_hash_t *)ks_hash_search(bh->protocols_cleanup, (void *)req_params_requester_nodeid, KS_UNLOCKED);
if (!bp_cleanup) {
ks_hash_create(&bp_cleanup, KS_HASH_MODE_CASE_INSENSITIVE, KS_HASH_FLAG_RWLOCK | KS_HASH_FLAG_DUP_CHECK | KS_HASH_FLAG_FREE_KEY, bh->pool);
ks_assert(bp_cleanup);
blade_session_send(bs, res, NULL);
done:
-
+
if (res) cJSON_Delete(res);
if (bs) blade_session_read_unlock(bs);
nodeid = "00000000-0000-0000-0000-000000000000";
realms = ( "mydomain.com" );
};
- wss:
- {
- endpoints:
- {
- ipv4 = ( { address = "0.0.0.0", port = 2100 } );
- ipv6 = ( { address = "::", port = 2100 } );
- backlog = 128;
- };
- # SSL group is optional, disabled when absent
- ssl:
- {
- # todo: server SSL stuffs here
- };
- };
+ transport:
+ {
+ wss:
+ {
+ endpoints:
+ {
+ ipv4 = ( { address = "0.0.0.0", port = 2100 } );
+ ipv6 = ( { address = "::", port = 2100 } );
+ backlog = 128;
+ };
+ # SSL group is optional, disabled when absent
+ ssl:
+ {
+ # todo: server SSL stuffs here
+ };
+ };
+ };
};
{
endpoints:
{
- ipv4 = ( { address = "0.0.0.0", port = 2100 } );
- ipv6 = ( { address = "::", port = 2100 } );
+ ipv4 = ( { address = "0.0.0.0", port = 2101 } );
+ ipv6 = ( { address = "::", port = 2101 } );
backlog = 128;
};
# SSL group is optional, disabled when absent