4
.github/workflows/generate-builds.yml
vendored
4
.github/workflows/generate-builds.yml
vendored
@@ -248,8 +248,8 @@ jobs:
|
|||||||
mv README.md readme.txt
|
mv README.md readme.txt
|
||||||
mv build-cmake/*.appimage soh.appimage
|
mv build-cmake/*.appimage soh.appimage
|
||||||
env:
|
env:
|
||||||
CC: gcc-14
|
CC: gcc-12
|
||||||
CXX: g++-14
|
CXX: g++-12
|
||||||
- name: Upload build
|
- name: Upload build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ struct BasicConstraint: Constraint
|
|||||||
BasicConstraint(const BasicConstraint &other)
|
BasicConstraint(const BasicConstraint &other)
|
||||||
: m_allocator(other.m_allocator) { }
|
: m_allocator(other.m_allocator) { }
|
||||||
|
|
||||||
~BasicConstraint<ConstraintType>() override = default;
|
~BasicConstraint() override = default;
|
||||||
|
|
||||||
bool accept(ConstraintVisitor &visitor) const override
|
bool accept(ConstraintVisitor &visitor) const override
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
#if defined _WEBSOCKETPP_CPP11_INTERNAL_ && !defined _WEBSOCKETPP_NO_CPP11_THREAD_
|
#if defined _WEBSOCKETPP_CPP11_INTERNAL_ && !defined _WEBSOCKETPP_NO_CPP11_THREAD_
|
||||||
// MinGW by default does not support C++11 thread/mutex so even if the
|
// MinGW by default does not support C++11 thread/mutex so even if the
|
||||||
// internal check for C++11 passes, ignore it if we are on MinGW
|
// internal check for C++11 passes, ignore it if we are on MinGW
|
||||||
#if (!defined(__MINGW32__) && !defined(__MINGW64__)) || __MINGW64_VERSION_MAJOR>=6
|
#if (!defined(__MINGW32__) && !defined(__MINGW64__))
|
||||||
#ifndef _WEBSOCKETPP_CPP11_THREAD_
|
#ifndef _WEBSOCKETPP_CPP11_THREAD_
|
||||||
#define _WEBSOCKETPP_CPP11_THREAD_
|
#define _WEBSOCKETPP_CPP11_THREAD_
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
~endpoint<connection,config>() {}
|
~endpoint() {}
|
||||||
|
|
||||||
#ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
|
#ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
|
||||||
// no copy constructor because endpoints are not copyable
|
// no copy constructor because endpoints are not copyable
|
||||||
|
|||||||
@@ -58,33 +58,33 @@ namespace log {
|
|||||||
template <typename concurrency, typename names>
|
template <typename concurrency, typename names>
|
||||||
class basic {
|
class basic {
|
||||||
public:
|
public:
|
||||||
basic<concurrency,names>(channel_type_hint::value h =
|
basic(channel_type_hint::value h =
|
||||||
channel_type_hint::access)
|
channel_type_hint::access)
|
||||||
: m_static_channels(0xffffffff)
|
: m_static_channels(0xffffffff)
|
||||||
, m_dynamic_channels(0)
|
, m_dynamic_channels(0)
|
||||||
, m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {}
|
, m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {}
|
||||||
|
|
||||||
basic<concurrency,names>(std::ostream * out)
|
basic(std::ostream * out)
|
||||||
: m_static_channels(0xffffffff)
|
: m_static_channels(0xffffffff)
|
||||||
, m_dynamic_channels(0)
|
, m_dynamic_channels(0)
|
||||||
, m_out(out) {}
|
, m_out(out) {}
|
||||||
|
|
||||||
basic<concurrency,names>(level c, channel_type_hint::value h =
|
basic(level c, channel_type_hint::value h =
|
||||||
channel_type_hint::access)
|
channel_type_hint::access)
|
||||||
: m_static_channels(c)
|
: m_static_channels(c)
|
||||||
, m_dynamic_channels(0)
|
, m_dynamic_channels(0)
|
||||||
, m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {}
|
, m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {}
|
||||||
|
|
||||||
basic<concurrency,names>(level c, std::ostream * out)
|
basic(level c, std::ostream * out)
|
||||||
: m_static_channels(c)
|
: m_static_channels(c)
|
||||||
, m_dynamic_channels(0)
|
, m_dynamic_channels(0)
|
||||||
, m_out(out) {}
|
, m_out(out) {}
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
~basic<concurrency,names>() {}
|
~basic() {}
|
||||||
|
|
||||||
/// Copy constructor
|
/// Copy constructor
|
||||||
basic<concurrency,names>(basic<concurrency,names> const & other)
|
basic(basic<concurrency,names> const & other)
|
||||||
: m_static_channels(other.m_static_channels)
|
: m_static_channels(other.m_static_channels)
|
||||||
, m_dynamic_channels(other.m_dynamic_channels)
|
, m_dynamic_channels(other.m_dynamic_channels)
|
||||||
, m_out(other.m_out)
|
, m_out(other.m_out)
|
||||||
@@ -97,7 +97,7 @@ public:
|
|||||||
|
|
||||||
#ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
|
#ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
|
||||||
/// Move constructor
|
/// Move constructor
|
||||||
basic<concurrency,names>(basic<concurrency,names> && other)
|
basic(basic<concurrency,names> && other)
|
||||||
: m_static_channels(other.m_static_channels)
|
: m_static_channels(other.m_static_channels)
|
||||||
, m_dynamic_channels(other.m_dynamic_channels)
|
, m_dynamic_channels(other.m_dynamic_channels)
|
||||||
, m_out(other.m_out)
|
, m_out(other.m_out)
|
||||||
|
|||||||
@@ -72,11 +72,11 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
~server<config>() {}
|
~server() {}
|
||||||
|
|
||||||
#ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
|
#ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
|
||||||
// no copy constructor because endpoints are not copyable
|
// no copy constructor because endpoints are not copyable
|
||||||
server<config>(server<config> &) = delete;
|
server(server<config> &) = delete;
|
||||||
|
|
||||||
// no copy assignment operator because endpoints are not copyable
|
// no copy assignment operator because endpoints are not copyable
|
||||||
server<config> & operator=(server<config> const &) = delete;
|
server<config> & operator=(server<config> const &) = delete;
|
||||||
@@ -84,7 +84,7 @@ public:
|
|||||||
|
|
||||||
#ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
|
#ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
|
||||||
/// Move constructor
|
/// Move constructor
|
||||||
server<config>(server<config> && o) : endpoint<connection<config>,config>(std::move(o)) {}
|
server(server<config> && o) : endpoint<connection<config>,config>(std::move(o)) {}
|
||||||
|
|
||||||
#ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
|
#ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
|
||||||
// no move assignment operator because of const member variables
|
// no move assignment operator because of const member variables
|
||||||
|
|||||||
@@ -311,9 +311,10 @@ public:
|
|||||||
* needed.
|
* needed.
|
||||||
*/
|
*/
|
||||||
timer_ptr set_timer(long duration, timer_handler callback) {
|
timer_ptr set_timer(long duration, timer_handler callback) {
|
||||||
timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
|
timer_ptr new_timer(
|
||||||
lib::ref(*m_io_service),
|
new lib::asio::steady_timer(
|
||||||
lib::asio::milliseconds(duration)
|
*m_io_service,
|
||||||
|
lib::asio::milliseconds(duration))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (config::enable_multithreading) {
|
if (config::enable_multithreading) {
|
||||||
@@ -461,8 +462,7 @@ protected:
|
|||||||
m_io_service = io_service;
|
m_io_service = io_service;
|
||||||
|
|
||||||
if (config::enable_multithreading) {
|
if (config::enable_multithreading) {
|
||||||
m_strand = lib::make_shared<lib::asio::io_service::strand>(
|
m_strand.reset(new lib::asio::io_service::strand(*io_service));
|
||||||
lib::ref(*io_service));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
|
lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
|
||||||
|
|||||||
@@ -195,8 +195,7 @@ public:
|
|||||||
|
|
||||||
m_io_service = ptr;
|
m_io_service = ptr;
|
||||||
m_external_io_service = true;
|
m_external_io_service = true;
|
||||||
m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
|
m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
|
||||||
lib::ref(*m_io_service));
|
|
||||||
|
|
||||||
m_state = READY;
|
m_state = READY;
|
||||||
ec = lib::error_code();
|
ec = lib::error_code();
|
||||||
@@ -688,9 +687,7 @@ public:
|
|||||||
* @since 0.3.0
|
* @since 0.3.0
|
||||||
*/
|
*/
|
||||||
void start_perpetual() {
|
void start_perpetual() {
|
||||||
m_work = lib::make_shared<lib::asio::io_service::work>(
|
m_work.reset(new lib::asio::io_service::work(*m_io_service));
|
||||||
lib::ref(*m_io_service)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Clears the endpoint's perpetual flag, allowing it to exit when empty
|
/// Clears the endpoint's perpetual flag, allowing it to exit when empty
|
||||||
@@ -854,8 +851,7 @@ protected:
|
|||||||
|
|
||||||
// Create a resolver
|
// Create a resolver
|
||||||
if (!m_resolver) {
|
if (!m_resolver) {
|
||||||
m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
|
m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
|
||||||
lib::ref(*m_io_service));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tcon->set_uri(u);
|
tcon->set_uri(u);
|
||||||
|
|||||||
@@ -168,8 +168,7 @@ protected:
|
|||||||
return socket::make_error_code(socket::error::invalid_state);
|
return socket::make_error_code(socket::error::invalid_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
|
m_socket.reset(new lib::asio::ip::tcp::socket(*service));
|
||||||
lib::ref(*service));
|
|
||||||
|
|
||||||
if (m_socket_init_handler) {
|
if (m_socket_init_handler) {
|
||||||
m_socket_init_handler(m_hdl, *m_socket);
|
m_socket_init_handler(m_hdl, *m_socket);
|
||||||
|
|||||||
@@ -193,8 +193,7 @@ protected:
|
|||||||
if (!m_context) {
|
if (!m_context) {
|
||||||
return socket::make_error_code(socket::error::invalid_tls_context);
|
return socket::make_error_code(socket::error::invalid_tls_context);
|
||||||
}
|
}
|
||||||
m_socket = lib::make_shared<socket_type>(
|
m_socket.reset(new socket_type(*service, *m_context));
|
||||||
_WEBSOCKETPP_REF(*service),lib::ref(*m_context));
|
|
||||||
|
|
||||||
if (m_socket_init_handler) {
|
if (m_socket_init_handler) {
|
||||||
m_socket_init_handler(m_hdl, get_socket());
|
m_socket_init_handler(m_hdl, get_socket());
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ static int const major_version = 0;
|
|||||||
/// Library minor version number
|
/// Library minor version number
|
||||||
static int const minor_version = 8;
|
static int const minor_version = 8;
|
||||||
/// Library patch version number
|
/// Library patch version number
|
||||||
static int const patch_version = 1;
|
static int const patch_version = 2;
|
||||||
/// Library pre-release flag
|
/// Library pre-release flag
|
||||||
/**
|
/**
|
||||||
* This is a textual flag indicating the type and number for pre-release
|
* This is a textual flag indicating the type and number for pre-release
|
||||||
@@ -54,7 +54,7 @@ static int const patch_version = 1;
|
|||||||
static char const prerelease_flag[] = "";
|
static char const prerelease_flag[] = "";
|
||||||
|
|
||||||
/// Default user agent string
|
/// Default user agent string
|
||||||
static char const user_agent[] = "WebSocket++/0.8.1";
|
static char const user_agent[] = "WebSocket++/0.8.2";
|
||||||
|
|
||||||
} // namespace websocketpp
|
} // namespace websocketpp
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user