gridem / synca Goto Github PK
View Code? Open in Web Editor NEWSynchronous asynchrony using coroutines
License: Apache License 2.0
Synchronous asynchrony using coroutines
License: Apache License 2.0
Согласно изложенному в статьях
https://habrahabr.ru/post/201826/
https://habrahabr.ru/company/yandex/blog/240525/
описанию работы проекта(плюс, естественно, сам код Synca) успешно скрестил синхронные сетевые интерфейсы нашей пользовательской библиотеки с другой нашей библиотекой асинхронного сетевого взаимодействия.
Tак как при работе условного сервера и множества(от нескольких сотен) условных клиентов на одной и той же машине упираемся в лимиты операционной системы(Ubuntu 14.04)
TCP: request_sock_TCP: Possible SYN flooding on port . Dropping request. Check SNMP counters.
, то внезапно встал вопрос, при каких условиях было достигнуто значение в 30K RPS?
Cкладывается плохое ощущение что не помогают никакие тюнинги
net.ipv4.tcp_max_syn_backlog
net.ipv4.tcp_syncookies
net.core.somaxconn
Хотя судя по временным меткам сетевого дампа тех небольших успешных количеств запросов-ответов можно судить о том, что производительность в 30K RPS на одно ядро вполне себе реальна.
While compilling on the msvc 2013, the following error occurs:
cl.exe /Zc:wchar_t /nologo /Wp64 /Ob0 /W3 /Gm /EHsc /Zi /GR /Gy /MDd /Fd".\snmp_intsd.pdb" /I "c:\Boost\include\boost-1_56" /I "..\include" /D _DEBUG /D AMD64 /D WIN32 /D _WINDOWS /D _WIN64 /D flagMSC /
_WIN32_WINNT=0x0501 /D BOOST_ASIO_HAS_MOVE /D _WINSOCK_DEPRECATED_NO_WARNINGS /c /Fo"Static_Debug\snmp_int\AMD64\network.obj" "network.cpp"
cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release
network.cpp
c:\Boost\include\boost-1_56\boost/asio/detail/impl/socket_ops.ipp(1968) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\Boost\include\boost-1_56\boost/asio/detail/impl/socket_ops.ipp(2172) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c:\Boost\include\boost-1_56\boost/asio/basic_socket.hpp(1513) : error C2248: 'boost::asio::basic_io_object<SocketService,true>::basic_io_object' : cannot access private member declared in class 'boost::asio::basi
_io_object<SocketService,true>'
with
[
SocketService=boost::asio::stream_socket_serviceboost::asio::ip::tcp
]
c:\Boost\include\boost-1_56\boost/asio/basic_io_object.hpp(230) : see declaration of 'boost::asio::basic_io_object<SocketService,true>::basic_io_object'
with
[
SocketService=boost::asio::stream_socket_serviceboost::asio::ip::tcp
]
This diagnostic occurred in the compiler generated function 'boost::asio::basic_socket<Protocol,StreamSocketService>::basic_socket(const boost::asio::basic_socket<Protocol,StreamSocketService> &)'
with
[
Protocol=boost::asio::ip::tcp
, StreamSocketService=boost::asio::stream_socket_serviceboost::asio::ip::tcp
]
NMAKE : fatal error U1077: 'C:\sdk\msvc.13\VC\BIN\amd64\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\sdk\msvc.13\VC\BIN\amd64\nmake.exe' : return code '0x2'
Stop.
Error resolving, after adding moving Ctor:
Socket::Socket(Socket&& o) : socket(std::move(o.socket)) {}
Добрый день.
Line 33 in 8ae652c
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.