Skip to content

Commit

Permalink
Move Buffer into own module
Browse files Browse the repository at this point in the history
  • Loading branch information
ry committed Mar 20, 2010
1 parent ac684f3 commit 025116f
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 18 deletions.
20 changes: 20 additions & 0 deletions lib/buffer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var Buffer = process.binding('buffer').Buffer;

exports.Buffer = Buffer;

Buffer.prototype.toString = function () {
return this.utf8Slice(0, this.length);
};

Buffer.prototype.toJSON = function () {
return this.utf8Slice(0, this.length);
/*
var s = "";
for (var i = 0; i < this.length; i++) {
s += this[i].toString(16) + " ";
}
return s;
*/
};


2 changes: 1 addition & 1 deletion lib/net.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ var binding = process.binding('net');
// represent buffer.used) that can be seeked around would be easier. I'm not
// yet convinced that every use-case can be fit into that abstraction, so
// waiting to implement it until I get more experience with this.
var Buffer = process.Buffer;
var Buffer = require('buffer').Buffer;

var IOWatcher = process.IOWatcher;
var assert = process.assert;
Expand Down
11 changes: 10 additions & 1 deletion src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1176,6 +1176,15 @@ static Handle<Value> Binding(const Arguments& args) {
binding_cache->Set(module, exports);
}

} else if (!strcmp(*module_v, "buffer")) {
if (binding_cache->Has(module)) {
exports = binding_cache->Get(module)->ToObject();
} else {
exports = Object::New();
Buffer::Initialize(exports);
binding_cache->Set(module, exports);
}

} else if (!strcmp(*module_v, "natives")) {
if (binding_cache->Has(module)) {
exports = binding_cache->Get(module)->ToObject();
Expand All @@ -1184,6 +1193,7 @@ static Handle<Value> Binding(const Arguments& args) {
// Explicitly define native sources.
// TODO DRY/automate this?
exports->Set(String::New("assert"), String::New(native_assert));
exports->Set(String::New("buffer"), String::New(native_buffer));
exports->Set(String::New("child_process"),String::New(native_child_process));
exports->Set(String::New("dns"), String::New(native_dns));
exports->Set(String::New("events"), String::New(native_events));
Expand Down Expand Up @@ -1301,7 +1311,6 @@ static void Load(int argc, char *argv[]) {


// Initialize the C++ modules..................filename of module
Buffer::Initialize(process); // buffer.cc
IOWatcher::Initialize(process); // io_watcher.cc
IdleWatcher::Initialize(process); // idle_watcher.cc
Timer::Initialize(process); // timer.cc
Expand Down
4 changes: 0 additions & 4 deletions test/disabled/test-net-fd-passing.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
process.mixin(require("../common"));
net = require("net");

process.Buffer.prototype.toString = function () {
return this.utf8Slice(0, this.length);
};

var tests_run = 0;

function fdPassingTest(path, port) {
Expand Down
5 changes: 0 additions & 5 deletions test/fixtures/net-fd-passing-receiver.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
process.mixin(require("../common"));
net = require("net");

process.Buffer.prototype.toString = function () {
return this.utf8Slice(0, this.length);
};


path = process.ARGV[2];
greeting = process.ARGV[3];

Expand Down
5 changes: 3 additions & 2 deletions test/simple/test-buffer.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
require("../common");
assert = require("assert");

var Buffer = require('buffer').Buffer;

var b = new process.Buffer(1024);
var b = new Buffer(1024);

puts("b.length == " + b.length);
assert.equal(1024, b.length);
Expand Down Expand Up @@ -52,7 +53,7 @@ for (var j = 0; j < 100; j++) {

// unpack

var b = new process.Buffer(10);
var b = new Buffer(10);
b[0] = 0x00;
b[1] = 0x01;
b[2] = 0x03;
Expand Down
3 changes: 2 additions & 1 deletion test/simple/test-http-parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ var HTTPParser = process.binding('http_parser').HTTPParser;

var parser = new HTTPParser("request");

var buffer = new process.Buffer(1024);
var Buffer = require('buffer').Buffer;
var buffer = new Buffer(1024);

var request = "GET /hello HTTP/1.1\r\n\r\n";

Expand Down
4 changes: 0 additions & 4 deletions test/simple/test-net-pingpong.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@ require("../common");

net = require("net");

process.Buffer.prototype.toString = function () {
return this.utf8Slice(0, this.length);
};

var tests_run = 0;

function pingPongTest (port, host) {
Expand Down

0 comments on commit 025116f

Please sign in to comment.