Logo white

Peter M. Groen / redox

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 152
  • Compare
  • Branches 1
  • Tags 0
  • redox
25 Dec, 2014
4 commits
  • Working loop command implementation ...
    be5fad76
    Uses libev timer watchers to queue commands on a regular
    interval. Very fast. Still need to handle deactivation of
    timers from the user side.
    Hayk Martirosyan authored
    2014-12-25 04:06:59 -0500  
    Browse Code »
  • Implement method to return # commands processed ...
    2833f2e8
    num_commands_processed(), trarcks using cmd_count and guarded
    with queue_guard.
    Hayk Martirosyan authored
    2014-12-25 02:50:37 -0500  
    Browse Code »
  • Added block_until_stopped method ...
    bfa303d5
    Used to block the main thread until the event loop is stopped by
    calling the .stop() method. Implemented using a condition_variable,
    and very useful for clients.
    Hayk Martirosyan authored
    2014-12-25 02:39:38 -0500  
    Browse Code »
  • Improved structure, stop handling, cleanups ...
    87ff8a3e
    Improved examples, added a threaded getter/setter example
    and cleaned up the other. Generally refactored code in the
    core files and cleaned up the details to make the slickest
    possible API. Implemented a to_exit variable as a stop
    condition for the event thread.
    Hayk Martirosyan authored
    2014-12-25 02:23:11 -0500  
    Browse Code »

24 Dec, 2014
3 commits
  • Default to optimized compile, include lpush_benchmark build
    f6e82b58
    Hayk Martirosyan authored
    2014-12-24 05:06:40 -0500  
    Browse Code »
  • Better connect/disconnect msgs, run_blocking() loop
    21afbc0c
    Hayk Martirosyan authored
    2014-12-24 05:05:55 -0500  
    Browse Code »
  • Fixed two major issues, the event loop and memory management ...
    2f207093
    The event loop (now libev) now runs in a separate detached thread,
    which is abstracted away from the user, who only calls a nonblocking
    .start() method. This thread loops continously, alternating telling
    Redis about asynchronous commands ready to send, and running one
    iteration of the event loop, where all pending events are taken
    care of. This greatly simplifies the user code.
    
    Additionally, some clever tricker is implemented now to handle
    memory management well with the templated command types. The
    difficulty comes from the fact that we pass redis a void pointer
    only, and must retreive everything from that (so, we can't use
    shared_ptr for the whole thing). Thus, we use maps of void pointers
    to their templated data structure pointers, where the memory address
    of the pointer serves as the key.
    Hayk Martirosyan authored
    2014-12-24 04:30:01 -0500  
    Browse Code »

23 Dec, 2014
3 commits
  • Start of looped command implementation
    c75df219
    Hayk Martirosyan authored
    2014-12-23 02:54:30 -0500  
    Browse Code »
  • Initial split of redisx from robot-net repository ...
    518a29c1
    Basic CMake setup, redisx implementation, and one example program.
    Hayk Martirosyan authored
    2014-12-23 02:13:47 -0500  
    Browse Code »
  • Initial commit
    583c6fe3
    Hayk Martirosyan authored
    2014-12-23 02:00:00 -0500  
    Browse Code »