Skip to content
Snippets Groups Projects
  1. Aug 12, 2015
  2. Jul 23, 2015
    • Konstantin Osipov's avatar
      iproto: move networking into a separate thread · 518b570c
      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.
      518b570c
  3. Apr 22, 2015
    • Roman Tsisyk's avatar
      Define public module API for Tarantool Lua/C modules · efe97b7b
      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")
      efe97b7b
  4. Jan 29, 2015
  5. Dec 26, 2014
    • Konstantin Osipov's avatar
      Rename libcore to libserver. · a8dcee6f
      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.
      a8dcee6f
  6. Dec 09, 2014
  7. Sep 25, 2014
    • Roman Tsisyk's avatar
      Refactor src/uri.rl to support RFC3986 and add Lua bindings · 1376aad9
      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
      1376aad9
  8. Jul 31, 2014
  9. Jul 16, 2014
  10. Jun 23, 2014
  11. Jun 03, 2014
  12. May 26, 2014
  13. May 21, 2014
  14. Apr 04, 2014
  15. Mar 31, 2014
  16. Feb 12, 2014
    • Roman Tsisyk's avatar
      Explicitly use thread-local buffer for C++ exceptions · 250d031a
      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.
      250d031a
  17. Feb 07, 2014
  18. Aug 16, 2013
  19. Jun 04, 2013
  20. Jun 03, 2013
  21. Mar 14, 2013
  22. Feb 26, 2013
  23. Feb 01, 2013
    • Konstantin Osipov's avatar
      Rename read/write to send/recv to be compatible with luasocket. · 52765de6
      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.
      52765de6
  24. Jan 25, 2013
  25. Jan 10, 2013
    • Konstantin Osipov's avatar
      Refactor our CMake files. Patch provided by Roman Tsisyk. · 6dd44f6d
      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.
      6dd44f6d
  26. Oct 23, 2012
  27. Oct 10, 2012
  28. Oct 08, 2012
    • Konstantin Osipov's avatar
      Extract cooperative IO from fiber.m. · 4a76b67f
      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.
      4a76b67f
  29. Oct 05, 2012
Loading