Skip to content
Snippets Groups Projects
  1. Dec 19, 2016
    • Ondřej Surý's avatar
      Remove bashisms from script/gen-cdefs.sh · e450beda
      Ondřej Surý authored
      e450beda
    • Vladimír Čunát's avatar
      allow generating most cdefs for lua · 06b0d3d4
      Vladimír Čunát authored and Ondřej Surý's avatar Ondřej Surý committed
      Motivation: maintaining these by hand in kres.lua is tricky, as just
      inserting or reordering the structures can do anything and isn't
      detected in general.  For example, `rr_array_t::at` has always
      "missed a star".
      
      A couple libknot structure fields have apparently changed name since
      the old definitions were written; in most cases I renamed them in *.lua.
      
      The file daemon/lua/kres-gen.lua will be regenerated only if explicitly
      deleted.  That requires building with debug symbols and gdb on $PATH.
      06b0d3d4
  2. Dec 12, 2016
  3. Dec 07, 2016
    • Vladimír Čunát's avatar
      --verbose: warn when having no effect · 074257f5
      Vladimír Čunát authored
      ... but don't raise any kind of error.
      The lua function `verbose()` behaved reasonably already.
      It doesn't warn, but docs for the function do mention `NLOGDEBUG`.
      074257f5
    • Vladimír Čunát's avatar
      --verbose: make it more efficient when not --verbose · 35cb961b
      Vladimír Čunát authored
      In particular, don't require to call an externally defined function to
      find if in --verbose mode or not.  Now it's just an extern bool.
      I'm confident the performance impact of not using -DNLOGDEBUG should be
      negligible now.
      
      This comes with a small incompatible API+ABI change, but that shouldn't
      matter as we've had a couple of those already since the last release.
      35cb961b
  4. Dec 02, 2016
  5. Nov 30, 2016
    • Vladimír Čunát's avatar
      Revert "lua: embed bytecode instead of stripped source" · 4237b587
      Vladimír Čunát authored
      This reverts commit 64f80706.
      TL;DR: it brought almost no benefits AFAIK and potential for problems.
      
      The "portable bytecode" produced by luajit isn't compatible when
      (lib)luajit version changes or when some build-time configuration of it
      changes.  If you mix these up, kresd fails to start.
      4237b587
  6. Nov 28, 2016
  7. Nov 24, 2016
  8. Nov 14, 2016
  9. Nov 13, 2016
  10. Nov 12, 2016
  11. Nov 10, 2016
  12. Nov 08, 2016
    • Vladimír Čunát's avatar
      lua ffi bindings: fix incorrect structs · 36ca5eed
      Vladimír Čunát authored
      Some structures have changed but lua was still using the old ABI.
      I think no our lua code used the fields misplaced due to this,
      except an example in documentation.
      
      I didn't check much of the ABI in there.  I wish I knew some
      (half-)automatic way how to do that.
      36ca5eed
    • Vladimír Čunát's avatar
      layer: refactor and better describe the API · cc47973e
      Vladimír Čunát authored
      - The API and ABI for modules changes slightly (details below).
        KR_MODULE_API is bumped to avoid loading incompatible code.
        We have bumped libkres ABIVER since the last release 1.1.1,
        so leaving that one intact.
      
      - Make KR_STATE_YIELD not reuse 0 value anymore.
        It's easy to e.g. return kr_ok() by mistake.
      - struct kr_layer_t:
        * ::mm was unused, uninitialized, etc.
        * Make ::state an int, as it was everywhere else.
        * void *data was ugly and always containing struct kr_request *
      - struct kr_layer_api:
        * Drop the void* parameter from ::begin, as it was only used
          for the request which is available as ctx->req anyway
          (formerly ctx->data).
        * Drop ::fail.  It wasn't even called.  Modules can watch for
          KR_STATE_FAIL in ::finish.
      - Document the apparent meaning of the layer interface, deduced mainly
        from the way it's used in the code.  Caveats:
        * enum knot_layer_state handling seems to assume that it holds exactly
          one of the possibilities at a time.  The cookie module does NOT
          follow that (intentionally), apparently depending on the exact
          implementation of the handling at that moment.  It feels fragile.
        * I was unable to deduce a plausible description of when ::reset is
          called.  It's practically unused in modules, too.
      cc47973e
    • Vladimír Čunát's avatar
      layer: rename knot_ identifiers that are private now · 4ad98bff
      Vladimír Čunát authored
      It causes lots of line changes, but it would be confusing to keep the
      current state over long term.
      4ad98bff
  13. Nov 02, 2016
  14. Oct 24, 2016
  15. Oct 21, 2016
  16. Oct 20, 2016
  17. Oct 19, 2016
  18. Oct 18, 2016
  19. Oct 11, 2016
  20. Oct 07, 2016
  21. Sep 30, 2016
  22. Sep 27, 2016
  23. Sep 08, 2016
  24. Sep 07, 2016
    • Vladimír Čunát's avatar
      net.listen: make it more flexible · cfef5357
      Vladimír Čunát authored
      As noted in #94, it feels natural to call it like:
      ``net.listen({net.lo, '192.168.1.1'})``
      Also, minor fixes were done in that function and corresponding docs.
      cfef5357
  25. Sep 05, 2016
  26. Aug 25, 2016