Ryan [Wed, 5 Aug 2009 13:33:42 +0000 (15:33 +0200)]
Add ranlib to udns Makefile
Thanks to Urban Hafner.
http://groups.google.com/group/nodejs/browse_thread/thread/
25867dba9db11d8
Ryan [Wed, 5 Aug 2009 09:17:26 +0000 (11:17 +0200)]
Add Felix Geisendörfer's HTTP stress test.
Does not pass on Macintosh and FreeBSD.
Ryan [Tue, 4 Aug 2009 12:44:40 +0000 (14:44 +0200)]
Upgrade evcom - fix accepting too many connections issue
Ryan [Tue, 4 Aug 2009 10:05:59 +0000 (12:05 +0200)]
Apply patch for V8 bug 414
http://groups.google.com/group/nodejs/browse_thread/thread/
25867dba9db11d8
http://code.google.com/p/v8/issues/detail?id=414
http://codereview.chromium.org/159659
Ryan [Mon, 3 Aug 2009 16:39:37 +0000 (18:39 +0200)]
Initial support for shebang.
There are some issues with loading modules from shebang-executed scripts
that will still need to be addressed, but this works for simple single
script situations.
Ryan [Mon, 3 Aug 2009 16:19:40 +0000 (18:19 +0200)]
Add simple command line switches
Ryan [Mon, 3 Aug 2009 15:51:35 +0000 (17:51 +0200)]
Add node.version
Ryan [Sat, 1 Aug 2009 12:56:45 +0000 (14:56 +0200)]
bump version
Ryan [Sat, 1 Aug 2009 10:58:39 +0000 (12:58 +0200)]
Add header to src/dns.cc to compile on FreeBSD.
Ryan [Fri, 31 Jul 2009 17:56:53 +0000 (19:56 +0200)]
Add examples of reading a file to documentation.
Ryan [Fri, 31 Jul 2009 17:48:19 +0000 (19:48 +0200)]
node.fs.File was not passing args to promise callbacks.
Reported by Jacob Rus.
Ryan [Fri, 31 Jul 2009 17:16:08 +0000 (19:16 +0200)]
Bugfix: negative integers in raw encoding stream.
Add test. Reported by Tim Caswell.
Ryan [Fri, 31 Jul 2009 16:49:30 +0000 (18:49 +0200)]
Hack to fix module line numbers in stack traces.
This code is going to be refactored with the introduction of the "process"
object. This is just temporary.
Ryan [Fri, 31 Jul 2009 16:34:27 +0000 (18:34 +0200)]
Default to chunked for client requests without C-Length.
Also add test. Reported by Felix Geisendörfer.
Ryan [Fri, 31 Jul 2009 12:36:48 +0000 (14:36 +0200)]
Upgrade V8 to 1.3.1
Ryan [Fri, 31 Jul 2009 09:59:36 +0000 (11:59 +0200)]
node.tcp.Server's backlog option is now an argument to listen()
Ryan [Thu, 30 Jul 2009 13:54:38 +0000 (15:54 +0200)]
Simplify the DNS usage example.
Ryan [Tue, 28 Jul 2009 10:29:18 +0000 (12:29 +0200)]
Add DNS API.
Missing functional tests. I'm not sure how to do tests because I don't want
to rely on the fact that users have an internet connection.
Ryan [Mon, 27 Jul 2009 13:48:16 +0000 (15:48 +0200)]
bump version
Ryan [Mon, 27 Jul 2009 13:30:07 +0000 (15:30 +0200)]
Disable test-tcp-many-clients.js. It's broken on macintosh - don't want to fix right now.
Ryan [Sat, 25 Jul 2009 15:52:21 +0000 (17:52 +0200)]
Rename evnet to evcom.
Ryan [Fri, 24 Jul 2009 20:23:50 +0000 (22:23 +0200)]
Move EventEmitter.prototype.emit() completely into C++.
This shows a healthy speed up.
Ryan [Fri, 24 Jul 2009 20:22:08 +0000 (22:22 +0200)]
Remove unused 'using namespace std' lines.
Ryan [Fri, 24 Jul 2009 18:42:54 +0000 (20:42 +0200)]
Remove unused symbols from http.cc.
Ryan [Fri, 24 Jul 2009 18:09:26 +0000 (20:09 +0200)]
Missing HandleScope in GetMethod(). Thanks Brian.
Ryan [Fri, 24 Jul 2009 13:14:59 +0000 (15:14 +0200)]
Add note to README about wiki page
Ryan [Fri, 24 Jul 2009 10:53:46 +0000 (12:53 +0200)]
Fix memory leak. It was only a missing HandleScope in Emit()!
This change also tries to optimize Emit by looping through the listeners in
C++. The javascript version of this function is still there and being used,
but only by javascript code. Not an ideal solution - there should only be
one implementation - however for now it seems to help.
This doesn't solve all of the memory leaks that we're experiencing, there
seems to be another subtle problem.
Ryan [Thu, 23 Jul 2009 23:15:21 +0000 (01:15 +0200)]
Remove unused static object.
Ryan [Thu, 23 Jul 2009 16:36:28 +0000 (18:36 +0200)]
Fix evnet_buf size calculation for V8::AdjustAmountOfExternalAllocatedMemory().
Ryan [Thu, 23 Jul 2009 16:35:43 +0000 (18:35 +0200)]
Clean up little errors in events.js
Ryan [Thu, 23 Jul 2009 16:35:03 +0000 (18:35 +0200)]
ObjectWrap: MakeWeak again after each Weak callback.
Ryan [Mon, 20 Jul 2009 19:22:19 +0000 (21:22 +0200)]
Fix utf8 scripts, add test. Thanks Urban.
Ryan [Mon, 20 Jul 2009 19:07:34 +0000 (21:07 +0200)]
remove the callback from node.cat, node.fs.cat
Ryan [Mon, 20 Jul 2009 16:30:15 +0000 (18:30 +0200)]
root_module should be a local variable
Ryan [Mon, 20 Jul 2009 16:19:13 +0000 (18:19 +0200)]
Array.prototype.encodeUtf8 renamed to node.encodeUtf8(array)
Ryan [Mon, 20 Jul 2009 11:18:42 +0000 (13:18 +0200)]
Upgrade V8 to 1.2.14
Ryan [Mon, 20 Jul 2009 11:01:40 +0000 (13:01 +0200)]
Upgrade libev to 3.7
Ryan [Mon, 20 Jul 2009 10:52:03 +0000 (12:52 +0200)]
Attach connections on Macintosh too.
Ryan [Thu, 16 Jul 2009 15:19:02 +0000 (17:19 +0200)]
Move node.inherit, node.path, node.cat to new file: util.js
Ryan [Thu, 16 Jul 2009 14:54:55 +0000 (16:54 +0200)]
Fix 'make test-debug'
Ryan [Thu, 16 Jul 2009 13:43:03 +0000 (15:43 +0200)]
Add IsNearDeath assertion to ObjectWrap destructor
Ryan [Thu, 16 Jul 2009 08:59:40 +0000 (10:59 +0200)]
small clean ups to http.js
Ryan [Wed, 15 Jul 2009 15:52:38 +0000 (17:52 +0200)]
Upgrade evnet.
Ryan [Wed, 15 Jul 2009 15:52:11 +0000 (17:52 +0200)]
Better error output for socket errors. Temporary.
Ryan [Wed, 15 Jul 2009 15:00:15 +0000 (17:00 +0200)]
Bugfix: Server-side clients not attached between creation and on_connect.
Solution is to manually add Attach() to OnConnection.
For client side it seems there is no Detach() being called after NS
resolution? Otherwise I would have removed it. That was another bug.
Note: We don't want to modify evnet's behavior to have on_connect called
directly when the socket is accepted. evnet needs to support SSL, and
on_connect is supposed to signal that the SSL connection is established. The
point here is that being "connected" and being "attached" to the event loop
are two different things. SSL stuff may be transmitted when a socket is not
"connected" but it must always be attached.
Ryan [Wed, 15 Jul 2009 12:36:38 +0000 (14:36 +0200)]
Remove unused variable from ~Connection
Ryan [Wed, 15 Jul 2009 05:54:01 +0000 (07:54 +0200)]
Upgrade evnet to fix close() bug. Add test for bug.
evnet wasn't properly closing sockets if they didn't have data to write.
Ryan [Tue, 14 Jul 2009 16:31:50 +0000 (18:31 +0200)]
large http.js refactor
Ryan [Tue, 14 Jul 2009 09:59:13 +0000 (11:59 +0200)]
http: Add IncomingMessage as abstract base class of ServerReq ClientRes
Ryan [Mon, 13 Jul 2009 22:00:07 +0000 (00:00 +0200)]
upgrade http_parser
Ryan [Mon, 13 Jul 2009 14:35:48 +0000 (16:35 +0200)]
Replace some printf() in src/net with asserts
Ryan [Mon, 13 Jul 2009 13:36:14 +0000 (15:36 +0200)]
Add 'close' event to tcp.Server
Ryan [Mon, 13 Jul 2009 10:48:59 +0000 (12:48 +0200)]
Add benchmark scripts.
To use the benchmarks:
node benchmarks/run.js
or:
make benchmark
The numbers reported are the elapsed milliseconds the script took to
complete. Currently only benching HTTP code and timers.
Ryan [Mon, 13 Jul 2009 09:44:41 +0000 (11:44 +0200)]
Use assert() for Unwrap checks instead of JS error.
Ryan [Sun, 12 Jul 2009 13:02:13 +0000 (15:02 +0200)]
Bugfix: Sockets not properly reattached if reconnected during disconnect event.
The problem was that Connection::on_close was calling Detach() directly
after executing the "disconnect" event. Since we had a boolean attach count,
this was leaving sockets detached even if they had reattached in during the
event.
* Added many asserts in http.cc and net.cc to ensure that sockets are
connected when they should be.
* Changed ObjectWrap to use a reference count instead of boolean attached_
value.
* Fixed similar bug in Timer.
Ryan [Sun, 12 Jul 2009 09:49:37 +0000 (11:49 +0200)]
add bug to TODO
Ryan [Sun, 12 Jul 2009 09:48:37 +0000 (11:48 +0200)]
Add res.client to ClientResponse
Ryan [Mon, 13 Jul 2009 14:38:24 +0000 (16:38 +0200)]
Upgrade liboi, which is now called evnet.
Ryan [Sat, 11 Jul 2009 09:43:06 +0000 (11:43 +0200)]
Do not call Detach() from Server::~Server.
Ryan [Fri, 10 Jul 2009 11:57:05 +0000 (13:57 +0200)]
Templatize ObjectWrap::Unwrap. Remove NODE_UNWRAP macro.
Ryan [Fri, 10 Jul 2009 11:38:53 +0000 (13:38 +0200)]
Simplify and cleanup ObjectWrap.
Simplify and inline ObjectWrap::Wrap
Inline and clean up ObjectWrap::Unwrap
Move ObjectWrap into its own file.
Remove handle from ObjectWrap constructor. add obj->Wrap(handle)
Simplify Attach/Detach in ObjectWrap
Remove ObjectWrap::InformV8ofAllocation. (Too messy/complex.)
Joshaven Potter [Tue, 30 Jun 2009 22:49:56 +0000 (18:49 -0400)]
validate js
Ryan [Tue, 30 Jun 2009 13:56:52 +0000 (15:56 +0200)]
fix example on website
Ryan [Tue, 30 Jun 2009 13:18:05 +0000 (15:18 +0200)]
bump version
Ryan [Tue, 30 Jun 2009 13:10:15 +0000 (15:10 +0200)]
Add changelog
Ryan [Tue, 30 Jun 2009 11:58:30 +0000 (13:58 +0200)]
small cleanups
Ryan [Tue, 30 Jun 2009 11:56:52 +0000 (13:56 +0200)]
Change 'new node.tcp.Connection' to 'node.tcp.createConnection'
Ryan [Tue, 30 Jun 2009 11:40:00 +0000 (13:40 +0200)]
Remove node.Process constructor from API
Ryan [Tue, 30 Jun 2009 11:27:25 +0000 (13:27 +0200)]
Add new documentation (using asciidoc!)
Ryan [Mon, 29 Jun 2009 19:17:06 +0000 (21:17 +0200)]
Add -m32 flags for compiling on 64bit machines.
These can be removed after v8 supports x64.
Ryan [Mon, 29 Jun 2009 18:53:54 +0000 (20:53 +0200)]
Fix ref/unref problem. Was doing opposite of what I should.
Ryan [Mon, 29 Jun 2009 12:11:26 +0000 (14:11 +0200)]
Add new test for node.fs.stat()
Ryan [Mon, 29 Jun 2009 12:11:01 +0000 (14:11 +0200)]
Clean up some of the event handling code
Ryan [Mon, 29 Jun 2009 11:18:30 +0000 (13:18 +0200)]
Snakecase events .
Ryan [Mon, 29 Jun 2009 11:17:49 +0000 (13:17 +0200)]
Bad array index in AfterStat()
Ryan [Mon, 29 Jun 2009 08:55:05 +0000 (10:55 +0200)]
Upgrade v8 to 1.2.10 and libev to 3.6
Ryan [Sun, 28 Jun 2009 18:11:55 +0000 (20:11 +0200)]
Fix unused variable warnings.
Ryan [Sun, 28 Jun 2009 17:58:13 +0000 (19:58 +0200)]
Timer::RepeatSetter wasn't getting the right value
Ryan [Sun, 28 Jun 2009 17:55:35 +0000 (19:55 +0200)]
Fix Process::MaybeShutdown's return type
Ryan [Sun, 28 Jun 2009 17:34:54 +0000 (19:34 +0200)]
Wrong number of arguments being passed to emit in AfterOpen
Ryan [Sun, 28 Jun 2009 17:05:58 +0000 (19:05 +0200)]
Implement Promises for file i/o
Ryan [Sun, 28 Jun 2009 10:40:20 +0000 (12:40 +0200)]
Add Promise class
Ryan [Sat, 27 Jun 2009 18:40:43 +0000 (20:40 +0200)]
Remove onEvent compatibility
Ryan [Fri, 26 Jun 2009 23:02:03 +0000 (01:02 +0200)]
Use EventEmitter for node.Process
Ryan [Fri, 26 Jun 2009 16:30:55 +0000 (18:30 +0200)]
Use events for all HTTP messages.
This is a rather large refactor! Mostly for the better side. I've had to
remove some functionality like req.interrupt(). A lot of other work is left
messy or incomplete.
Ryan [Fri, 26 Jun 2009 16:29:57 +0000 (18:29 +0200)]
events for http.Server
Ryan [Fri, 26 Jun 2009 10:51:27 +0000 (12:51 +0200)]
Further expand EventEmitter to TCP and HTTP
The constructor for TCP servers can no longer take a connection handler for
purely technical reasons. (The constructor for EventEmitter is implemented
in C++ but addListener is in javascript, and I don't want to make too many
C++ -> Javascript references.) Thus I introduce new constructor methods to
ease the creation of the servers:
node.tcp.createServer()
node.http.createServer()
These work almost the same as the old constructors.
In general we're working towards a future where no constructors are
publicly exposed or take arguments.
The HTTP events like "on_uri" are not yet using the event interface.
onMessage still is a constructor - but this will change soon.
Ryan [Thu, 25 Jun 2009 18:25:44 +0000 (20:25 +0200)]
Timers on Events
Ryan [Thu, 25 Jun 2009 17:13:20 +0000 (19:13 +0200)]
in the middle putting in event code. broken.
Ryan [Sat, 27 Jun 2009 17:06:29 +0000 (19:06 +0200)]
Add some notes about extent of HTTP API
Ryan [Sat, 27 Jun 2009 16:26:25 +0000 (18:26 +0200)]
add irc channel to website
Ryan [Fri, 26 Jun 2009 22:49:47 +0000 (00:49 +0200)]
Add make test-all
Ryan [Fri, 26 Jun 2009 22:43:03 +0000 (00:43 +0200)]
add more detail to req.uri documentation
Ryan [Fri, 26 Jun 2009 22:13:37 +0000 (00:13 +0200)]
Fix issue in 5b7fb10
Ryan [Fri, 26 Jun 2009 21:42:06 +0000 (23:42 +0200)]
Add failing test. Process spawning loop.
I think this is the issue Felix Geisendoerfer is reporting:
http://groups.google.com/group/nodejs/browse_thread/thread/
efbae1ec1e67786c
Ryan [Wed, 24 Jun 2009 14:43:37 +0000 (16:43 +0200)]
bump version
Ryan [Wed, 24 Jun 2009 11:58:17 +0000 (13:58 +0200)]
test-process-kill: start process after onLoad
Ryan [Wed, 24 Jun 2009 11:44:12 +0000 (13:44 +0200)]
bugfix: Properly exit a process.
This requires that onExit() is not called immediately upon receiving a
SIGCHLD. There could still be data in the pipez. So, instead just set a
flag and invoke the pipe watchers.
Sometimes one will not receive an EOF from pipes because the process was
killed by a SIGTERM, or something. If SIGCHLD has been recved but we are
getting EAGAIN, the pipez need to be closed too.
Ryan [Tue, 23 Jun 2009 09:27:18 +0000 (11:27 +0200)]
Fix thread pool unref issue.
Tests were silently failing since f56309d...
Since the eio_watcher is now not counted in the list of active watchers, we
need to explicitly tell the ev_loop not to exit when entering the thread
pool.
Ryan [Tue, 23 Jun 2009 08:26:17 +0000 (10:26 +0200)]
Fix some typos in the docs