Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ if((NOT CMAKE_SYSTEM MATCHES "Windows*") AND CMAKE_BUILD_TYPE STREQUAL "coverage
#force a single configuration type on Windows builds
set(CMAKE_CONFIGURATION_TYPES "debug")
set(CONFIGURATION_TYPE "debug")
add_compile_options("SHELL: -coverage -fprofile-arcs -ftest-coverage")
add_link_options("SHELL: -fprofile-arcs -ftest-coverage")
add_compile_options("SHELL: --coverage")
add_link_options("SHELL: --coverage")
elseif(CMAKE_SYSTEM MATCHES "Windows*" AND CMAKE_BUILD_TYPE STREQUAL "coverage")
message(FATAL_ERROR "\r\n === Coverage not yet supported for Windows systems ===\r\n")
endif()
Expand Down Expand Up @@ -382,9 +382,9 @@ if(NOT ON_CROSS)
find_program( MEMORYCHECK_COMMAND valgrind )
set( MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full" )
set( MEMORYCHECK_SUPPRESSIONS_FILE "${PROJECT_SOURCE_DIR}/cmake/valgrind_suppress.txt" )

set(SOLID_TEST_ALL TRUE CACHE BOOL "Enable/Disable all tests")

enable_testing()
include(CTest)
else()
Expand Down
6 changes: 3 additions & 3 deletions solid/frame/aio/src/aioreactor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -567,10 +567,10 @@ inline ReactorEventE systemEventsToReactorEvents(const uint32_t _events)

inline constexpr ReactorEventE systemEventsToReactorEvents(const unsigned short _flags, const short _filter)
{
ReactorEventE retval = ReactorEventE::None;
if (_flags & (EV_EOF | EV_ERROR)) {
if (_flags & (EV_ERROR)) {
return ReactorEventE::Hangup;
}

if (_filter == EVFILT_READ) {
return ReactorEventE::Recv;
} else if (_filter == EVFILT_WRITE) {
Expand All @@ -579,7 +579,7 @@ inline constexpr ReactorEventE systemEventsToReactorEvents(const unsigned short
return ReactorEventE::Recv;
}

return retval;
return ReactorEventE::None;
}
#elif defined(SOLID_USE_WSAPOLL)
inline ReactorEventE systemEventsToReactorEvents(const uint32_t _events, decltype(WSAPOLLFD::events)& _revs)
Expand Down
39 changes: 0 additions & 39 deletions solid/frame/manager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,6 @@ class Manager final : NonCopyable {
template <class F>
bool visit(ActorIdT const& _ruid, F _f);

#if false // TODO:vapa:delete
template <class T, class F>
bool visitDynamicCast(ActorIdT const& _ruid, F _f);

template <class T, class F>
bool visitExplicitCast(ActorIdT const& _ruid, F _f);
#endif

ActorIdT id(const ActorBase& _ractor) const;

Service& service(const ActorBase& _ractor) const;
Expand Down Expand Up @@ -189,37 +181,6 @@ inline bool Manager::visit(ActorIdT const& _ruid, F _f)
{
return doVisit(_ruid, ActorVisitFunctionT{_f});
}
#if false
template <class T, class F>
inline bool Manager::visitDynamicCast(ActorIdT const& _ruid, F _f)
{
auto lambda = [&_f](VisitContext& _rctx) {
T* pt = dynamic_cast<T*>(&_rctx.actor());
if (pt) {
return _f(_rctx, *pt);
}
return false;
};
ActorVisitFunctionT fct(std::ref(lambda));
return doVisit(_ruid, fct);
}

template <class T, class F>
inline bool Manager::visitExplicitCast(ActorIdT const& _ruid, F _f)
{
auto lambda = [&_f](VisitContext& _rctx) {
const std::type_info& req_type = typeid(T);
const std::type_info& val_type = doGetTypeId(*(&_rctx.actor()));

if (std::type_index(req_type) == std::type_index(val_type)) {
return _f(_rctx, static_cast<T&>(_rctx.actor()));
}
return false;
};

return doVisit(_ruid, ActorVisitFunctionT{lambda});
}
#endif

template <typename F>
inline size_t Manager::forEachServiceActor(const Service& _rservice, F _f)
Expand Down
179 changes: 0 additions & 179 deletions solid/frame/mprpc/mprpcservice.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -348,13 +348,6 @@ class Service : public frame::Service {
const MessageFlagsT& _flags = 0);

// send message using connection uid -------------------------------------
#if 0
template <class T>
ErrorConditionT sendMessage(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
const MessageFlagsT& _flags = 0);
#endif
template <class T>
ErrorConditionT sendMessage(
const RecipientUrl& _recipient_url,
Expand Down Expand Up @@ -401,23 +394,6 @@ class Service : public frame::Service {
MessagePointerT<T> const& _rmsgptr,
MessageId& _rmsg_id,
const MessageFlagsT& _flags = 0);
// send request using connection uid --------------------------------------
#if 0
template <class T, class Fnc>
ErrorConditionT sendRequest(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
const MessageFlagsT& _flags = 0);

template <class T, class Fnc>
ErrorConditionT sendRequest(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
MessageId& _rmsguid,
const MessageFlagsT& _flags = 0);
#endif
// send message with complete using recipient name ------------------------

template <class T, class Fnc>
Expand All @@ -444,45 +420,13 @@ class Service : public frame::Service {
MessageId& _rmsguid,
const MessageFlagsT& _flags);

// send message with complete using connection uid ------------------------
#if 0
template <class T, class Fnc>
ErrorConditionT sendMessage(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
const MessageFlagsT& _flags);

template <class T, class Fnc>
ErrorConditionT sendMessage(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
MessageId& _rmsguid,
const MessageFlagsT& _flags);
#endif
// send message using ConnectionContext ----------------------------------

template <class T>
ErrorConditionT sendResponse(
ConnectionContext& _rctx,
MessagePointerT<T> const& _rmsgptr,
const MessageFlagsT& _flags = 0);
#if 0
template <class T>
ErrorConditionT sendMessage(
ConnectionContext& _rctx,
MessagePointerT<T> const& _rmsgptr,
const MessageFlagsT& _flags = 0);

template <class T, class Fnc>
ErrorConditionT sendMessage(
ConnectionContext& _rctx,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
const MessageFlagsT& _flags = 0);

#endif
//-------------------------------------------------------------------------
ErrorConditionT sendRelay(const ActorIdT& _rconid, RelayData&& _urelmsg);
ErrorConditionT sendRelayCancel(RelayData&& _urelmsg);
Expand Down Expand Up @@ -741,19 +685,6 @@ ErrorConditionT Service::sendMessage(
MessageCompleteFunctionT complete_handler;
return doSendMessage(_recipient_url, msgptr, complete_handler, &_rrecipient_id, &_rmsg_id, _flags);
}
// send message using connection uid -------------------------------------
#if 0
template <class T>
ErrorConditionT Service::sendMessage(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
const MessageFlagsT& _flags)
{
auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
MessageCompleteFunctionT complete_handler;
return doSendMessage(nullptr, _rrecipient_id, msgptr, complete_handler, nullptr, nullptr, _flags);
}
#endif
//-------------------------------------------------------------------------
template <class T>
ErrorConditionT Service::sendMessage(
Expand Down Expand Up @@ -825,46 +756,6 @@ ErrorConditionT Service::sendRequest(
return doSendMessage(_recipient_url, msgptr, complete_handler, &_rrecipient_id, &_rmsguid, _flags | MessageFlagsE::AwaitResponse);
}
//-------------------------------------------------------------------------
#if 0
// send request using connection uid --------------------------------------
template <class T, class Fnc>
ErrorConditionT Service::sendRequest(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
const MessageFlagsT& _flags)
{
using CompleteHandlerT = CompleteHandler<Fnc,
typename message_complete_traits<decltype(_complete_fnc)>::send_type,
typename message_complete_traits<decltype(_complete_fnc)>::recv_type>;

auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
CompleteHandlerT fnc(std::forward<Fnc>(_complete_fnc));
MessageCompleteFunctionT complete_handler(std::move(fnc));

return doSendMessage(nullptr, _rrecipient_id, msgptr, complete_handler, nullptr, nullptr, _flags | MessageFlagsE::AwaitResponse);
}
//-------------------------------------------------------------------------
template <class T, class Fnc>
ErrorConditionT Service::sendRequest(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
MessageId& _rmsguid,
const MessageFlagsT& _flags)
{
using CompleteHandlerT = CompleteHandler<Fnc,
typename message_complete_traits<decltype(_complete_fnc)>::send_type,
typename message_complete_traits<decltype(_complete_fnc)>::recv_type>;

auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
CompleteHandlerT fnc(std::forward<Fnc>(_complete_fnc));
MessageCompleteFunctionT complete_handler(std::move(fnc));

return doSendMessage(nullptr, _rrecipient_id, msgptr, complete_handler, nullptr, &_rmsguid, _flags | MessageFlagsE::AwaitResponse);
}
#endif
//-------------------------------------------------------------------------
// send response using recipient id ---------------------------------------

template <class T>
Expand Down Expand Up @@ -951,46 +842,6 @@ ErrorConditionT Service::sendMessage(
return doSendMessage(_recipient_url, msgptr, complete_handler, &_rrecipient_id, &_rmsguid, _flags);
}
//-------------------------------------------------------------------------
// send message with complete using connection uid ------------------------
#if 0
template <class T, class Fnc>
ErrorConditionT Service::sendMessage(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
const MessageFlagsT& _flags)
{
using CompleteHandlerT = CompleteHandler<Fnc,
typename message_complete_traits<decltype(_complete_fnc)>::send_type,
typename message_complete_traits<decltype(_complete_fnc)>::recv_type>;

auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
CompleteHandlerT fnc(std::forward<Fnc>(_complete_fnc));
MessageCompleteFunctionT complete_handler(std::move(fnc));

return doSendMessage(nullptr, _rrecipient_id, msgptr, complete_handler, nullptr, nullptr, _flags);
}
//-------------------------------------------------------------------------
template <class T, class Fnc>
ErrorConditionT Service::sendMessage(
RecipientId const& _rrecipient_id,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
MessageId& _rmsguid,
const MessageFlagsT& _flags)
{
using CompleteHandlerT = CompleteHandler<Fnc,
typename message_complete_traits<decltype(_complete_fnc)>::send_type,
typename message_complete_traits<decltype(_complete_fnc)>::recv_type>;

auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
CompleteHandlerT fnc(std::forward<Fnc>(_complete_fnc));
MessageCompleteFunctionT complete_handler(std::move(fnc));

return doSendMessage(nullptr, _rrecipient_id, msgptr, complete_handler, nullptr, &_rmsguid, _flags);
}
#endif
//-------------------------------------------------------------------------
// send message using ConnectionContext ----------------------------------

template <class T>
Expand All @@ -1003,36 +854,6 @@ ErrorConditionT Service::sendResponse(
MessageCompleteFunctionT complete_handler;
return doSendMessage(_rctx, msgptr, complete_handler, nullptr, nullptr, _flags | MessageFlagsE::Response);
}
#if 0
template <class T>
ErrorConditionT Service::sendMessage(
ConnectionContext& _rctx,
MessagePointerT<T> const& _rmsgptr,
const MessageFlagsT& _flags)
{
auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
MessageCompleteFunctionT complete_handler;
return doSendMessage(_rctx, msgptr, complete_handler, nullptr, nullptr, _flags);
}

template <class T, class Fnc>
ErrorConditionT Service::sendMessage(
ConnectionContext& _rctx,
MessagePointerT<T> const& _rmsgptr,
Fnc _complete_fnc,
const MessageFlagsT& _flags)
{
using CompleteHandlerT = CompleteHandler<Fnc,
typename message_complete_traits<decltype(_complete_fnc)>::send_type,
typename message_complete_traits<decltype(_complete_fnc)>::recv_type>;

auto msgptr(solid::static_pointer_cast<Message>(_rmsgptr));
CompleteHandlerT fnc(std::forward<Fnc>(_complete_fnc));
MessageCompleteFunctionT complete_handler(std::move(fnc));

return doSendMessage(_rctx, msgptr, complete_handler, nullptr, nullptr, _flags);
}
#endif

//-------------------------------------------------------------------------
template <typename F>
Expand Down
30 changes: 0 additions & 30 deletions solid/frame/mprpc/src/mprpcconfiguration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,36 +39,6 @@ std::ostream& operator<<(std::ostream& _ros, const RelayDataFlagsT& _flags)
return _ros;
}

#if false
/*virtual*/ BufferBase::~BufferBase()
{
}

RecvBufferPointerT make_recv_buffer(const size_t _cp)
{
switch (_cp) {
case 512:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<512>>());
case 1 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<1 * 1024>>());
case 2 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<2 * 1024>>());
case 4 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<4 * 1024>>());
case 8 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<8 * 1024>>());
case 16 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<16 * 1024>>());
case 32 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<32 * 1024>>());
case 64 * 1024:
return std::dynamic_pointer_cast<BufferBase>(std::make_shared<Buffer<64 * 1024>>());
default:
return std::make_shared<Buffer<0>>(_cp);
}
}
#endif

namespace {
SharedBuffer default_allocate_recv_buffer(const uint32_t _cp)
{
Expand Down
2 changes: 1 addition & 1 deletion solid/frame/mprpc/src/mprpcconnection.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ class Connection : public frame::aio::Actor {
bool poll_pool_more_ = true;
bool send_posted_ = false;
Any<> any_data_;
char socket_emplace_buf_[static_cast<size_t>(ConnectionValues::SocketEmplacementSize)];
char socket_emplace_buf_[static_cast<size_t>(ConnectionValues::SocketEmplacementSize)] = {};
SocketStubPtrT sock_ptr_;
NanoTime timeout_recv_ = NanoTime::max(); // client and server
NanoTime timeout_send_soft_ = NanoTime::max(); // client and server
Expand Down
2 changes: 1 addition & 1 deletion solid/frame/mprpc/test/test_clientserver_idempotent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ int test_clientserver_idempotent(int argc, char* argv[])

cfg.pool_max_active_connection_count = max_per_pool_connection_count;

cfg.client.name_resolve_fnc = frame::mprpc::InternetResolverF(resolver, server_port.c_str(), {"localhost"}, SocketInfo::Inet4);
cfg.client.name_resolve_fnc = frame::mprpc::InternetResolverF(resolver, server_port.c_str(), "localhost", SocketInfo::Inet4);

if (secure) {
solid_dbg(generic_logger, Info, "Configure SSL client ------------------------------------");
Expand Down
Loading
Loading