eosio / appbase Goto Github PK
View Code? Open in Web Editor NEWThis project forked from bytemaster/appbase
Framework for building applications based upon plugins
License: MIT License
This project forked from bytemaster/appbase
Framework for building applications based upon plugins
License: MIT License
It would be nice for a config file to have the ability to include another config file, maybe with a include=nodes.ini
or something. This would allow for easier sharing of config items across multiple nodes (think blacklists, peerlists, etc)
When trying to compile appbase as a standalone library, it failed until I added pthread to examples/CMakeLists.txt:
add_executable( appbase_example main.cpp )
target_link_libraries( appbase_example appbase ${CMAKE_DL_LIBS} ${PLATFORM_SPECIFIC_LIBS} pthread)
If the application needs to stop (in my case, the consumer closes connection, and I need to stop processing of state history) and calls app().shutdown();
, the priority queue still has entries pending execution. So, application::exec()
continues running through the queue, but io_serv
is already reset.
As a result, sisgegv is thrown, because io_serv
is NULL by that time.
Boost 1.71 is the one delivered in Ubuntu 20.04 libraries. Appbase fails to compile with it. What is the midterm planin supporting Boost?
truncated output:
[ 62%] Building CXX object CMakeFiles/chronicle-receiver.dir/chronicle-receiver/receiver_plugin.cpp.o
In file included from /usr/include/boost/asio/executor.hpp:338,
from /usr/include/boost/asio/basic_socket.hpp:27,
from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/include/boost/asio.hpp:24,
from /opt/src/eos-chronicle/external/appbase/include/appbase/channel.hpp:7,
from /opt/src/eos-chronicle/external/appbase/include/appbase/application.hpp:3,
from /opt/src/eos-chronicle/chronicle-receiver/receiver_plugin.hpp:1,
from /opt/src/eos-chronicle/chronicle-receiver/receiver_plugin.cpp:3:
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘boost::asio::execution_context& boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::context() [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:177:22: required from here
/usr/include/boost/asio/impl/executor.hpp:179:22: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘context’
179 | return executor_.context();
| ~~~~~~~~~~^~~~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::on_work_started() [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:167:8: required from here
/usr/include/boost/asio/impl/executor.hpp:169:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘on_work_started’
169 | executor_.on_work_started();
| ~~~~~~~~~~^~~~~~~~~~~~~~~
/usr/include/boost/asio/impl/executor.hpp: In instantiation of ‘void boost::asio::executor::impl< <template-parameter-1-1>, <template-parameter-1-2> >::on_work_finished() [with Executor = std::reference_wrapper<boost::asio::io_context>; Allocator = std::allocator<void>]’:
/usr/include/boost/asio/impl/executor.hpp:172:8: required from here
/usr/include/boost/asio/impl/executor.hpp:174:15: error: ‘class std::reference_wrapper<boost::asio::io_context>’ has no member named ‘on_work_finished’
174 | executor_.on_work_finished();
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.