1. Aug 09, 2013
    • isaacs's avatar
      stream: Short-circuit buffer pushes when flowing · c0e70354
      isaacs authored
      When a stream is flowing, and not in the middle of a sync read, and
      the read buffer currently has a length of 0, we can just emit a 'data'
      event rather than push it onto the array, emit 'readable', and then
      automatically call read().
      
      As it happens, this is quite a frequent occurrence!  Making this change
      brings the HTTP benchmarks back into a good place after the removal of
      the .ondata/.onend socket kludge methods.
      c0e70354
    • isaacs's avatar
      http: Use streams3 directly, not .ondata/end · 967b5dbb
      isaacs authored
      967b5dbb
  2. Aug 08, 2013
    • Trevor Norris's avatar
      smalloc: allow different external array types · cec81593
      Trevor Norris authored
      smalloc.alloc now accepts an optional third argument which allows
      specifying the type of array that should be allocated. All available
      types are now located on smalloc.Types.
      cec81593
    • Trevor Norris's avatar
      smalloc: cleanup checks/conversions · cd000645
      Trevor Norris authored
      * Moved the ToObject check out of smalloc::Alloc and into JS. Direct
        usage of that method is for internal use only and so can bypass the
        possible coercion.
      * Same has been done with smalloc::SliceOnto.
      * smalloc::CopyOnto will now throw if passed argument is not an object.
      * Remove extra TargetFreeCallback function. There was a use for it when
        it was working with a Local<T>, but that code has been removed making
        the function superfluous.
      cd000645
    • Ben Noordhuis's avatar
      stream_wrap: fix long line introduced in da5ad92a · b9150344
      Ben Noordhuis authored
      Said commit was a back-port from a feature branch where it did lint.
      Mea culpa.
      b9150344
    • isaacs's avatar
      http: Support legacy agent.addRequest API · 12cd1331
      isaacs authored
      There are some agent subclasses using this today.
      
      Despite the addRequest function being undocumented internal API, it's
      easy enough to just support the old signature for backwards
      compatibility.
      12cd1331
    • Ben Noordhuis's avatar
      src: remove no-op HandleWrap::Initialize() · d24decb8
      Ben Noordhuis authored
      It's never been used and we probably never will. Remove it.
      d24decb8
  3. Aug 07, 2013
    • Ben Noordhuis's avatar
      stream_wrap: add handle type checkers · 54a9ec4e
      Ben Noordhuis authored
      Add is_named_pipe(), is_named_pipe_ipc() and is_tcp() and update the
      code base to use those rather than `stream->type == UV_FOO` and
      `reinterpret_cast<uv_pipe_t*>(handle)->ipc` style checks.
      54a9ec4e
    • Ben Noordhuis's avatar
      stream_wrap: use getters, not direct field access · da5ad92a
      Ben Noordhuis authored
      Hide member fields behind getters. Make the fields themselves const
      in the sense that the pointer is non-assignable - the pointed to object
      remains mutable.
      
      Makes reasoning about lifecycle and mutability a little easier.
      da5ad92a
    • Ben Noordhuis's avatar
      src: constify WITH_GENERIC_STREAM macro · 4692b725
      Ben Noordhuis authored
      Make the pointer-to-wrap const (i.e. mutable but not assignable) to
      prevent accidental reassignment in the macro body.
      4692b725
    • Ben Noordhuis's avatar
      src: add IsEmpty() check to HasInstance() · c079f6e2
      Ben Noordhuis authored
      The check has virtually zero overhead and it simplifies the call sites
      because they were calling IsEmpty() anwyay.
      c079f6e2
    • Timothy J Fontaine's avatar
      Now working on 0.11.6 · 53603736
      Timothy J Fontaine authored
      53603736
    • Timothy J Fontaine's avatar
      Merge branch 'v0.11.5-release' · 7aa42428
      Timothy J Fontaine authored
      7aa42428
    • Trevor Norris's avatar
      domains: properly check if domains are being used · e3c5019a
      Trevor Norris authored
      process.domain is almost never just undefined, so it was setting the
      object property unnecessarily.
      e3c5019a
    • Timothy J Fontaine's avatar
      2013.08.06, Version 0.11.5 (Unstable) · 6f92da2d
      Timothy J Fontaine authored
      * v8: upgrade to 3.20.11
      
      * uv: upgrade to v0.11.7
      
      * buffer: return offset for end of last write (Trevor Norris)
      
      * build: embed the mdb_v8.so into the binary (Timothy J Fontaine)
      
      * build: fix --without-ssl build (Ben Noordhuis)
      
      * child_process: add 'shell' option to .exec() (Ben Noordhuis)
      
      * dgram: report send errors to cb, don't pass bytes (Ben Noordhuis)
      
      * fs: write strings directly to disk (Trevor Norris)
      
      * https: fix default port (Koichi Kobayashi)
      
      * openssl: use asm for sha, md5, rmd (Fedor Indutny)
      
      * os: add mac address to networkInterfaces() output (Brian White)
      
      * smalloc: introduce smalloc module (Trevor Norris)
      
      * stream: Simplify flowing, passive data listening (streams3) (isaacs)
      
      * tls: asynchronous SNICallback (Fedor Indutny)
      
      * tls: share tls tickets key between cluster workers (Fedor Indutny)
      
      * util: don't throw on circular %j input to format() (Ben Noordhuis)
      6f92da2d
    • Timothy J Fontaine's avatar
      uv: Upgrade to v0.11.7 · fa8efa98
      Timothy J Fontaine authored
      fa8efa98
    • Fedor Indutny's avatar
      tls: fix lazy initialization of clienthello parser · 166c405b
      Fedor Indutny authored
      `server.SNICallback` was initialized with `SNICallback.bind(this)`, and
      therefore check `this.SNICallback === SNICallback` was always false, and
      `_tls_wrap.js` always thought that it was a custom callback instead of
      default one. Which in turn was causing clienthello parser to be enabled
      regardless of presence of SNI contexts.
      166c405b
    • Timothy J Fontaine's avatar
      Merge remote-tracking branch 'upstream/v0.10' · b26d346b
      Timothy J Fontaine authored
      Conflicts:
      	deps/v8/test/cctest/test-api.cc
      	lib/events.js
      	lib/http.js
      b26d346b
  4. Aug 06, 2013
  5. Aug 05, 2013
  6. Aug 04, 2013
    • Fedor Indutny's avatar
      tls: fix handling of `SNICallback` server option · ea7b8172
      Fedor Indutny authored
      It shouldn't ignore it!
      
      There're two possibile cases, which should be handled properly:
      
      1. Having a default `SNICallback` which is using contexts, added with
        `server.addContext(...)` routine
      2. Having a custom `SNICallback`.
      
      In first case we may want to opt-out setting `.onsniselect` method (and
      thus save some CPU time), if there're no contexts added. But, if custom
      `SNICallback` is used, `.onsniselect` should always be set, because
      server contexts don't affect it.
      ea7b8172
    • Ben Noordhuis's avatar
      src: use static_cast for void-to-T casts · 5383e758
      Ben Noordhuis authored
      Code cleanup, replace a few uses of reinterpret_cast<T*>(void_ptr) with
      static_cast<T*>(void_ptr).
      5383e758
    • Ben Noordhuis's avatar
      src: use PersistentToLocal() in a few more places · d4cc30f1
      Ben Noordhuis authored
      Update a few more `Local<T>::New(isolate, persistent)` call sites to
      `PersistentToLocal(isolate, persistent)` - the latter has a fast path
      for non-weak persistent references.
      d4cc30f1
  7. Aug 03, 2013
    • Fedor Indutny's avatar
      crypto: fix another over-run in bio · e5791f74
      Fedor Indutny authored
      When doing `FreeEmpty`, `NodeBIO` skips pre-allocated `head_` buffer.
      However this might lead to double-freeing buffers since in `~NodeBIO()`
      we're starting deallocation from `head_` buffer.
      e5791f74