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
Ryan [Mon, 22 Jun 2009 17:48:02 +0000 (19:48 +0200)]
Move oi_buf creation to node.cc
Ryan [Mon, 22 Jun 2009 17:32:42 +0000 (19:32 +0200)]
Remove eio_warmup. Use ev_ref instead.
Ryan [Mon, 22 Jun 2009 16:28:48 +0000 (18:28 +0200)]
Fix bug waf problem with HAVE_CLOCK_SYSCALL
Ryan [Mon, 22 Jun 2009 12:15:10 +0000 (14:15 +0200)]
Add scons to LICENSE
Ryan [Mon, 22 Jun 2009 11:51:47 +0000 (13:51 +0200)]
Use v8's test runner
Ryan [Mon, 22 Jun 2009 11:12:47 +0000 (13:12 +0200)]
lint
Ryan [Mon, 22 Jun 2009 11:08:32 +0000 (13:08 +0200)]
Create tools directory
Users will need to "make distclean" to recompile from scratch since I've
moved a lot of the core build tools around.
Ryan [Sun, 21 Jun 2009 21:28:12 +0000 (23:28 +0200)]
Remove unnecessary Detach
Ryan [Sun, 21 Jun 2009 21:27:36 +0000 (23:27 +0200)]
Fix up docs.
Urban Hafner [Sun, 21 Jun 2009 14:59:11 +0000 (16:59 +0200)]
Finished remote module loading
Urban Hafner [Sun, 21 Jun 2009 14:40:08 +0000 (16:40 +0200)]
Tests and implementation of node.cat()
Urban Hafner [Sun, 21 Jun 2009 14:28:58 +0000 (16:28 +0200)]
Update to use the new parseUri()
Urban Hafner [Sun, 21 Jun 2009 14:28:23 +0000 (16:28 +0200)]
Remove empty parts of the parsed URI.
Urban Hafner [Sun, 21 Jun 2009 14:10:20 +0000 (16:10 +0200)]
Merge branch 'master' of git://github.com/ry/node
Ryan [Sun, 21 Jun 2009 12:34:13 +0000 (14:34 +0200)]
Add documentation for node.Process
Ryan [Sun, 21 Jun 2009 12:07:52 +0000 (14:07 +0200)]
fix error in test-process-simple
Ryan [Sun, 21 Jun 2009 12:06:03 +0000 (14:06 +0200)]
Add test-process-kill.js
Ryan [Sun, 21 Jun 2009 11:57:23 +0000 (13:57 +0200)]
Add test-process-simple.js
Ryan [Sun, 21 Jun 2009 11:50:13 +0000 (13:50 +0200)]
define signal constants
Ryan [Sun, 21 Jun 2009 11:41:03 +0000 (13:41 +0200)]
Add process.kill(sig = SIGTERM)
Ryan [Sun, 21 Jun 2009 11:29:15 +0000 (13:29 +0200)]
Add pid accessor
Ryan [Sun, 21 Jun 2009 11:18:00 +0000 (13:18 +0200)]
Add onExit callback
Ryan [Sun, 21 Jun 2009 11:10:00 +0000 (13:10 +0200)]
Get stdin/stdout working. Add process->Close().
Ryan [Sat, 20 Jun 2009 14:44:06 +0000 (16:44 +0200)]
skelton of node.Process
Ryan [Sat, 20 Jun 2009 13:17:54 +0000 (15:17 +0200)]
Bug: Add HTTPConnection->size() and HTTPServer->size()
Need this for proper garbage collection.
Urban Hafner [Fri, 19 Jun 2009 07:03:24 +0000 (09:03 +0200)]
Merge branch 'master' of git://github.com/ry/node
Ryan [Thu, 18 Jun 2009 21:22:31 +0000 (23:22 +0200)]
bump version
Ryan [Thu, 18 Jun 2009 13:35:02 +0000 (15:35 +0200)]
Clean up debug code in net.cc
Ryan [Thu, 18 Jun 2009 12:58:17 +0000 (14:58 +0200)]
Namespace trimming: remove node.constants
Ryan [Thu, 18 Jun 2009 12:50:10 +0000 (14:50 +0200)]
Small clean up in test-http-client-race