Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

API changes between v0.10 and v0.12

Trevor Norris edited this page Jul 4, 2013 · 16 revisions

When editing this page please be as detailed as possible. Examples are encouraged!

Buffers

Module API Changes

  • Buffer class has been removed and replaced with a namespace. So using node::Buffer will no longer work.
  • All node::Buffer::New() variants now return Local<Object> instead of Buffer*.
  • The return value for node::Buffer::New() is an instantiated JS Buffer object.
  • node::Buffer::New(Handle<String>) now accepts an optional second argument of enum encoding.
  • API addition of node::Buffer::Use() which will use the passed char* instead of making a copy.

JS API Changes

  • External memory is now allocated using smalloc, instead of using SlowBuffer as the parent backing.
  • SlowBuffer has been repurposed to return a Buffer instance that has no parent backing.
  • buffer.parent now points to an object that has been allocated via smalloc.alloc, not a Buffer instance, and only if the buffer is a slice.
  • buffer.offset is now a read-only prototype property equal to zero since no instance methods require working on the parent backing.
  • API additions Buffer.alloc() and Buffer.dipose() have been added.
  • Buffer#fill() has been extended to fill with the entire passed value.
Clone this wiki locally