- Aug 12, 2015
-
-
Konstantin Osipov authored
-
- Jul 23, 2015
-
-
Konstantin Osipov authored
Implement a generic inter-cord communication bus and use it in separating network I/O and transaction processor. Split all request processing work into network thread part and transaction processor thread part, and make these parts multi-threading safe. Generalize fiber pool into an own data structure and API. Misc cleanups.
-
- Apr 22, 2015
-
-
Roman Tsisyk authored
This patch adds `src/module.h` header file with definition of all public API functions suitable to use in Lua/C modules for Tarantool. This header is automatically generated from src/*.h by CMake (`make generate_module_api`) by extracting code blocks between /** \cond public */ /* \endcond public */ Doxygen-style comments. Definitions of functions in module.h are frozen and must not be changed by future commits/releases. A new test case `app/module_api` is added to check compilation, linkage and loading of Lua modules and functionality of provided API functions. Other changes: * Convert mysql and pg to use module.h and prepare to convert to .c * Fix includes in say.h, coeio.h * Rename luaL_pushnumber64 to luaL_pushuint64 and luaL_pushinumber64 to luaL_pushint64 * Add LUA_API macros to public luaL_* functions (actually adds extern "C")
-
- Jan 29, 2015
-
-
Roman Tsisyk authored
-
- Dec 26, 2014
-
-
Konstantin Osipov authored
libcore is a thick a thick bundle with almost everything. Rename it to libserver. Extract the minimal server core with fibers & exceptions into libcore. Add a prototype unit test for fibers.
-
- Dec 09, 2014
-
-
Konstantin Osipov authored
Provide fine-grained keepalive options on Linux, which supports per-socket defaults. Fix a bug with trying to set keepalive options for UDP sockets - don't try to do it.
-
- Sep 25, 2014
-
-
Roman Tsisyk authored
* Split parser and resolver in src/uri.rl * Extend URI parser grammar to fully support RFC3986 * Add Lua bindings to URI parser * Implement proper DNS logic in coio_connect() / evio_service_bind() * Replace uri_to_string() with sio_strfaddr() Prerequisite for #447
-
- Jul 31, 2014
-
-
Konstantin Osipov authored
No test case since we don't test contents of the log in 1.5.
-
- Jul 16, 2014
-
-
Roman Tsisyk authored
-
- Jun 23, 2014
-
-
Konstantin Osipov authored
Use underscores instead of dashes in file names. Use 0 for success -1 for error. Update code and tests.
-
- Jun 03, 2014
-
-
Dmitry E. Oboukhov authored
-
- May 26, 2014
-
-
Dmitry E. Oboukhov authored
-
Dmitry E. Oboukhov authored
-
Dmitry E. Oboukhov authored
-
- May 21, 2014
-
-
Dmitry E. Oboukhov authored
-
- Apr 04, 2014
-
-
esha authored
-
- Mar 31, 2014
-
-
esha authored
-
- Feb 12, 2014
-
-
Roman Tsisyk authored
This patch explicitly saves Exception to a thread-local variable inside struct cord on tnt_raise(). This variable can be used to safetly re-throw last exception from any place (not only from catch() block). This technique requires exception to be thrown and catched by pointers. tnt_raise macros was rewritten and all 'catch (Exception &)' blocks were substituted with 'catch (Exception *e)'. This patch also adds a new feature to box.raise() function. When called without arguments box.raise() re-throws last exception (if any). These changes needed to implement proper handlings of exception for FFI calls.
-
- Feb 07, 2014
-
-
Konstantin Osipov authored
-
- Aug 16, 2013
-
-
Konstantin Osipov authored
-
- Jun 04, 2013
-
-
Roman Tsisyk authored
-
- Jun 03, 2013
-
-
Roman Tsisyk authored
-
- Mar 14, 2013
-
-
Dmitry Simonenko authored
-
- Feb 26, 2013
-
-
Dmitry Simonenko authored
address detection to sendto.
-
- Feb 01, 2013
-
-
Konstantin Osipov authored
Inline bio_socket_close(). Don't allow connect/bind on a non-empty socket:this is error-prone. Don't allow connect/bind on a socket which is already connected/bound/used for something else. This is error-prone. Move bind_addrinfo to evio layer. Don't create iobuf without need. In close(), set iobuf to NULL. Timeouts are not exceptions. Merge _timeout and other calls in coio.
-
- Jan 25, 2013
-
-
Dmitry Simonenko authored
-
- Jan 10, 2013
-
-
Konstantin Osipov authored
Move third_party library compilation to the top level (less directory traversal). Provide an option for using system LibEIO/libobjc. Enforce a naming convention for cmake/ scripts (Find* and Build*). Move ev and eio wrappers to third-party (todo: delete them completely). There is one (known) problem with this patch: tarantool --version now prints incorrect compile flags. To be fixed in a separate patch.
-
- Oct 23, 2012
-
-
Konstantin Osipov authored
Get rid of an artificial wrapper around libev's ev_io object. This allows for more code reuse.
-
- Oct 10, 2012
-
-
Konstantin Osipov authored
-
- Oct 08, 2012
-
-
Konstantin Osipov authored
Make all subsystems (administrative console, replication, memcached, binary protocol) use exception-based socket API (sio.m). Remove all fiber members related to socket I/O. Remove fiber->peer and fiber->cookie. The idea of the cookie is to preserve in the WAL the originator of the request. This information is, however, lost when saving a snapshot. To my knowledge there is no use of this functionality, apart from pretty-printing the WAL. Peer is like cookie, but is textual and is used for logging. However, now, as long as network errors occur outside fiber context, most of the usefulness is lost. The only remaining case is when someone is trying to execute a write request on a read-only port. For all other cases, sio.m already supplies SocketError with peer name, and this is where it's most useful.
-
- Oct 05, 2012
-
-
Konstantin Osipov authored
Introduce two levels of new API: sio.h (the basic socket IO) and evio.h (libev integrated socket IO). Start changing the code base to use the new API. Begin with replication.m.
-