platform/upstream/nodejs.git
15 years agochanges to website
Ryan [Fri, 29 May 2009 16:59:18 +0000 (18:59 +0200)]
changes to website

15 years agoRemove complex string appending in http's send() method.
Ryan [Fri, 29 May 2009 15:05:03 +0000 (17:05 +0200)]
Remove complex string appending in http's send() method.

That seems to churn the garbage collector like mad.
Before: http://s3.amazonaws.com/four.livejournal/20090529/timeseries6.png
After:  http://s3.amazonaws.com/four.livejournal/20090529/timeseries11.png
Got a nice tight side profile for this benchmark now:
http://s3.amazonaws.com/four.livejournal/20090529/hist10.png

15 years agoRemove unnecessary AdjustAmountOfExternalAllocatedMemory from node.http.
Ryan [Fri, 29 May 2009 11:58:52 +0000 (13:58 +0200)]
Remove unnecessary AdjustAmountOfExternalAllocatedMemory from node.http.

15 years agoFix ::exit() compile issues.
Ryan [Thu, 28 May 2009 12:47:16 +0000 (14:47 +0200)]
Fix ::exit() compile issues.

Thanks Matthias!

15 years agoadd long description to website
Ryan [Thu, 28 May 2009 11:45:18 +0000 (13:45 +0200)]
add long description to website

15 years agoRemove old .gitmodules file
Ryan [Thu, 28 May 2009 10:30:22 +0000 (12:30 +0200)]
Remove old .gitmodules file

15 years agoClean up that download link.
Ryan [Wed, 27 May 2009 16:41:04 +0000 (18:41 +0200)]
Clean up that download link.

15 years agoUpdate website with first release link.
Ryan [Wed, 27 May 2009 16:38:22 +0000 (18:38 +0200)]
Update website with first release link.

15 years agoChange to build on FreeBSD v0.0.1
Ryan [Wed, 27 May 2009 14:29:55 +0000 (16:29 +0200)]
Change to build on FreeBSD

The v8/SConstruct change has been give to the v8 people.
http://codereview.chromium.org/113897

15 years agoJust twiddling with the webpage
Ryan [Wed, 27 May 2009 13:42:16 +0000 (15:42 +0200)]
Just twiddling with the webpage

15 years agoReorganize the website into two pages.
Ryan [Wed, 27 May 2009 12:53:36 +0000 (14:53 +0200)]
Reorganize the website into two pages.

15 years agoadd license, readme
Ryan [Tue, 26 May 2009 23:59:31 +0000 (01:59 +0200)]
add license, readme

15 years agoAdd includes for freebsd compatibility
Ryan [Tue, 26 May 2009 23:35:54 +0000 (01:35 +0200)]
Add includes for freebsd compatibility

15 years agoRemove file access flags that arn't present in macintosh.
Ryan [Tue, 26 May 2009 18:35:42 +0000 (20:35 +0200)]
Remove file access flags that arn't present in macintosh.

15 years agoAdd errno constants. Move all constants to `node.constants` namespace.
Ryan [Tue, 26 May 2009 17:48:49 +0000 (19:48 +0200)]
Add errno constants. Move all constants to `node.constants` namespace.

15 years agoRename fatal_exception to FatalException
Ryan [Tue, 26 May 2009 16:18:17 +0000 (18:18 +0200)]
Rename fatal_exception to FatalException

15 years agoHave connection.setEncoding use node::ParseEncoding
Ryan [Tue, 26 May 2009 16:14:32 +0000 (18:14 +0200)]
Have connection.setEncoding use node::ParseEncoding

15 years agoClean up doc intro and syntax highlighting.
Ryan [Tue, 26 May 2009 16:06:53 +0000 (18:06 +0200)]
Clean up doc intro and syntax highlighting.

15 years agoClean up outgoing encoding API. Generally: send(chunk, encoding).
Ryan [Tue, 26 May 2009 15:46:56 +0000 (17:46 +0200)]
Clean up outgoing encoding API. Generally: send(chunk, encoding).

15 years agoAdd preliminary tcp documentation
Ryan [Tue, 26 May 2009 13:20:25 +0000 (15:20 +0200)]
Add preliminary tcp documentation

15 years agoMore docs. Add rmdir and unlink.
Ryan [Tue, 26 May 2009 10:11:31 +0000 (12:11 +0200)]
More docs. Add rmdir and unlink.

15 years agoFile I/O documentation. Remove necessity of class="sh_javascript".
Ryan [Tue, 26 May 2009 09:39:40 +0000 (11:39 +0200)]
File I/O documentation. Remove necessity of class="sh_javascript".

15 years agoAdd node.fs prefix to some constants. oops.
Ryan [Tue, 26 May 2009 01:37:18 +0000 (03:37 +0200)]
Add node.fs prefix to some constants. oops.

15 years agoLarge refactor of file code.
Ryan [Tue, 26 May 2009 01:30:51 +0000 (03:30 +0200)]
Large refactor of file code.

All the c++ code is now reduced to simple wrappers. The node.fs.File object
is defined entirely in javascript now. As is the actionQueue methods.

This makes the boundaries much cleaner. There is still some thought that
needs to go into how exactly the API should behave but this simplification
is a first step.

15 years agoMore docs
Ryan [Mon, 25 May 2009 17:52:05 +0000 (19:52 +0200)]
More docs

15 years agoAdd docs. Rename exit() to node.exit().
Ryan [Mon, 25 May 2009 11:38:36 +0000 (13:38 +0200)]
Add docs. Rename exit() to node.exit().

15 years agoRemove error codes from file on_completion callbacks. Use file.onError.
Ryan [Mon, 25 May 2009 11:17:35 +0000 (13:17 +0200)]
Remove error codes from file on_completion callbacks. Use file.onError.

The error codes still remain for the two general file system operations:
rename and stat.

Additionally I've removed the actionQueue for file system operations. They
are sent directly into the thread pool.

15 years agoNamespace File stuff in node.fs
Ryan [Thu, 21 May 2009 10:49:41 +0000 (12:49 +0200)]
Namespace File stuff in node.fs

15 years agoBeginnings of file i/o docs. Finish up timers.
Ryan [Thu, 21 May 2009 10:33:57 +0000 (12:33 +0200)]
Beginnings of file i/o docs. Finish up timers.

15 years agoBegin documentation for file i/o
Ryan [Wed, 20 May 2009 14:58:08 +0000 (16:58 +0200)]
Begin documentation for file i/o

15 years agoCamel case status_code and http_version.
Ryan [Wed, 20 May 2009 14:05:31 +0000 (16:05 +0200)]
Camel case status_code and http_version.

15 years agoMore node.http.Client docs
Ryan [Wed, 20 May 2009 14:02:53 +0000 (16:02 +0200)]
More node.http.Client docs

15 years agoBegin node.http.Client docs
Ryan [Wed, 20 May 2009 11:42:26 +0000 (13:42 +0200)]
Begin node.http.Client docs

15 years agoAdd setBodyEncoding to http client responses.
Ryan [Wed, 20 May 2009 11:00:20 +0000 (13:00 +0200)]
Add setBodyEncoding to http client responses.

15 years agoHTTP Server: Close 1.0 connections properly.
Ryan [Wed, 20 May 2009 08:28:10 +0000 (10:28 +0200)]
HTTP Server: Close 1.0 connections properly.

15 years agoAdd http.ServerRequest.setBodyEncoding. Needs test still.
Ryan [Wed, 20 May 2009 08:17:07 +0000 (10:17 +0200)]
Add http.ServerRequest.setBodyEncoding. Needs test still.

15 years agoChange encoding setter/getter to setEncoding function.
Ryan [Wed, 20 May 2009 08:02:02 +0000 (10:02 +0200)]
Change encoding setter/getter to setEncoding function.

15 years agoClean up tests. Add docs.
Ryan [Tue, 19 May 2009 20:32:41 +0000 (22:32 +0200)]
Clean up tests. Add docs.

15 years agoHTTP Client: add fix to allow TCP connection to reconnect.
Ryan [Tue, 19 May 2009 19:53:26 +0000 (21:53 +0200)]
HTTP Client: add fix to allow TCP connection to reconnect.

15 years agoRemove debugging statement.
Ryan [Tue, 19 May 2009 18:40:56 +0000 (20:40 +0200)]
Remove debugging statement.

15 years agoAdd color PASS/FAIL statements. Use python for portability.
Ryan [Tue, 19 May 2009 18:31:40 +0000 (20:31 +0200)]
Add color PASS/FAIL statements. Use python for portability.

15 years agoFix a bug in HTTP server when receiving half-closes.
Ryan [Tue, 19 May 2009 18:24:37 +0000 (20:24 +0200)]
Fix a bug in HTTP server when receiving half-closes.

15 years agoBug fix: need to return readyState symbol from scope.
Ryan [Tue, 19 May 2009 14:19:47 +0000 (16:19 +0200)]
Bug fix: need to return readyState symbol from scope.

15 years agoDebugging http. Add simple test. (Does not pass.)
Ryan [Tue, 19 May 2009 12:49:28 +0000 (14:49 +0200)]
Debugging http. Add simple test. (Does not pass.)

15 years agoAdd request method. (How could that be missing still?)
Ryan [Tue, 19 May 2009 12:46:07 +0000 (14:46 +0200)]
Add request method. (How could that be missing still?)

15 years agoModify website colors.
Ryan [Tue, 19 May 2009 11:16:36 +0000 (13:16 +0200)]
Modify website colors.

15 years agoSimple HTTP client is working a bit.
Ryan [Tue, 19 May 2009 11:12:46 +0000 (13:12 +0200)]
Simple HTTP client is working a bit.

15 years agoAdd ParseUri to the node namespace
Ryan [Mon, 18 May 2009 22:01:11 +0000 (00:01 +0200)]
Add ParseUri to the node namespace

15 years agoWork on motivation statement.
Ryan [Mon, 18 May 2009 21:21:11 +0000 (23:21 +0200)]
Work on motivation statement.

15 years agoUse parseUri() for req.uri. Update docs.
Ryan [Mon, 18 May 2009 17:33:05 +0000 (19:33 +0200)]
Use parseUri() for req.uri. Update docs.

15 years agoHTTP Server: check the ready state of the connection before each send.
Ryan [Mon, 18 May 2009 12:02:50 +0000 (14:02 +0200)]
HTTP Server: check the ready state of the connection before each send.

15 years agoClean up readyState handling. Add test.
Ryan [Mon, 18 May 2009 11:48:58 +0000 (13:48 +0200)]
Clean up readyState handling. Add test.

15 years agoFix crash in oi_socket; add ready state reader to Connection objects.
Ryan [Mon, 18 May 2009 11:38:15 +0000 (13:38 +0200)]
Fix crash in oi_socket; add ready state reader to Connection objects.

15 years agoChange request handler to take two parameters: req, res.
Ryan [Mon, 18 May 2009 10:44:01 +0000 (12:44 +0200)]
Change request handler to take two parameters: req, res.

This is more semantic, albeit unnecessary, usage. I think users will
be able to remember the API more easily.

15 years agoWork on website styling.
Ryan [Sun, 17 May 2009 13:54:06 +0000 (15:54 +0200)]
Work on website styling.

15 years agoAdd to module documentation.
Ryan [Sat, 16 May 2009 11:53:18 +0000 (13:53 +0200)]
Add to module documentation.

15 years agoRemove v8 prefix from function template callbacks.
Ryan [Sat, 16 May 2009 10:54:44 +0000 (12:54 +0200)]
Remove v8 prefix from function template callbacks.

15 years agoRemove HTTP parser callbacks for fragment, query_string, path.
Ryan [Sat, 16 May 2009 10:49:33 +0000 (12:49 +0200)]
Remove HTTP parser callbacks for fragment, query_string, path.

Instead we're going to just get a single callback for the URI. This can be
parsed additionally in javascript using parseuri:
  http://blog.stevenlevithan.com/archives/parseuri
I haven't added that yet, but it will come soon.

15 years agoAdd sendUtf8 method to socket objects.
Ryan [Sat, 16 May 2009 10:44:49 +0000 (12:44 +0200)]
Add sendUtf8 method to socket objects.

Encoding UTF-16 (the native string representation) to UTF-8 is rather
expensive, however just chopping off the second bit to convert UTF-16 to
ASCII is rather fast. I've noticed major performance issues with
String::WriteUtf8 and thus I'm going to explicitly separate in the API.

Still need interfaces to this for the web server.

15 years agoSlightly better buffer allocation. (Probably not worth it.)
Ryan [Fri, 15 May 2009 20:41:36 +0000 (22:41 +0200)]
Slightly better buffer allocation. (Probably not worth it.)

15 years agoCommit partial work in http.js. Comment out V8::Dispose(); in node.cc
Ryan [Fri, 15 May 2009 16:11:49 +0000 (18:11 +0200)]
Commit partial work in http.js. Comment out V8::Dispose(); in node.cc

15 years agoInform V8 of external allocations.
Ryan [Fri, 15 May 2009 14:28:10 +0000 (16:28 +0200)]
Inform V8 of external allocations.

This is sloppy: after each ObjectWrap allocation the user needs to
call ObjectWrap::InformV8ofAllocation(). In addition each class deriving
from  ObjectWrap needs to implement the virtual method size() which should
return the size of the derived class. If I was better at C++ I could
possibly make this less ugly. For now this is how it is.

Memory usage looks much better after this commit.

15 years agoFixes to get HTTP working with new TCP API.
Ryan [Thu, 14 May 2009 23:47:17 +0000 (01:47 +0200)]
Fixes to get HTTP working with new TCP API.

15 years agoWrap NewInstance with TryCatch. (Was still missing the error.)
Ryan [Thu, 14 May 2009 23:36:51 +0000 (01:36 +0200)]
Wrap NewInstance with TryCatch. (Was still missing the error.)

15 years agoWrap calls in TryCatch; Check return values after UNWRAP.
Ryan [Thu, 14 May 2009 23:12:46 +0000 (01:12 +0200)]
Wrap calls in TryCatch; Check return values after UNWRAP.

This is to avoid a segfault when you don't use the API correctly.

15 years agoRelatively large update to TCP API. No more "protocol".
Ryan [Thu, 14 May 2009 21:47:21 +0000 (23:47 +0200)]
Relatively large update to TCP API. No more "protocol".

Instead servers are passed a function which gets called on connection (like
in the original design) which has one argument, the connecting socket. The
user sets up callbacks on that. It's pretty much how I had it originally.

Encoding is now set via v8 getter/setter and can be changed dynamically.

The timeout for all sockets is fixed at 60 seconds for now. Need to fix
that.

15 years agoRename TCP classes to sit in node hierarchy.
Ryan [Thu, 14 May 2009 18:34:14 +0000 (20:34 +0200)]
Rename TCP classes to sit in node hierarchy.

15 years agoAdd p() like in Ruby.
Ryan [Thu, 14 May 2009 16:37:53 +0000 (18:37 +0200)]
Add p() like in Ruby.

15 years agoDon't need librt.
Ryan [Thu, 14 May 2009 15:36:39 +0000 (17:36 +0200)]
Don't need librt.

15 years agoupdate node.html
Ryan [Thu, 14 May 2009 15:36:25 +0000 (17:36 +0200)]
update node.html

15 years agoAdd HTTP Server documentation.
Ryan [Thu, 14 May 2009 13:55:28 +0000 (15:55 +0200)]
Add HTTP Server documentation.

15 years agoRemove -n from echo in Makefile. (Doesn't work on OSX.)
Ryan [Thu, 14 May 2009 12:05:07 +0000 (14:05 +0200)]
Remove -n from echo in Makefile. (Doesn't work on OSX.)

15 years agoIntroduce NODE_SET_PROTOTYPE_METHOD which properly sets the signature.
Ryan [Thu, 14 May 2009 11:16:45 +0000 (13:16 +0200)]
Introduce NODE_SET_PROTOTYPE_METHOD which properly sets the signature.

15 years agoWas not properly passing the host parameter to Acceptor::Listen.
Ryan [Wed, 13 May 2009 21:44:05 +0000 (23:44 +0200)]
Was not properly passing the host parameter to Acceptor::Listen.

15 years agoFix memory leak in timer.
Ryan [Wed, 13 May 2009 21:35:36 +0000 (23:35 +0200)]
Fix memory leak in timer.

15 years agoRename main.js to node.js.
Ryan [Wed, 13 May 2009 19:43:24 +0000 (21:43 +0200)]
Rename main.js to node.js.

15 years agoMove Timer class into node namespace.
Ryan [Wed, 13 May 2009 19:42:18 +0000 (21:42 +0200)]
Move Timer class into node namespace.

15 years agomore updates to websites
Ryan [Wed, 13 May 2009 19:37:01 +0000 (21:37 +0200)]
more updates to websites

15 years agoAdd webpage. Very incomplete.
Ryan [Wed, 13 May 2009 15:46:00 +0000 (17:46 +0200)]
Add webpage. Very incomplete.

15 years agoPath, URI, Fragment, etc were not getting passed to RequestHandler.
Ryan [Tue, 12 May 2009 09:39:42 +0000 (11:39 +0200)]
Path, URI, Fragment, etc were not getting passed to RequestHandler.

15 years agoliboi should include libev
Ryan [Tue, 12 May 2009 01:46:30 +0000 (03:46 +0200)]
liboi should include libev

15 years agoRandom clean-ups to the web server.
Ryan [Tue, 12 May 2009 01:46:04 +0000 (03:46 +0200)]
Random clean-ups to the web server.

15 years agoUpgrade v8 to version 1.2.3.
Ryan [Mon, 11 May 2009 22:12:56 +0000 (00:12 +0200)]
Upgrade v8 to version 1.2.3.

15 years agoAdd keep-alive handling.
Ryan [Mon, 11 May 2009 21:38:41 +0000 (23:38 +0200)]
Add keep-alive handling.

15 years agoAdd status code reasons to server API.
Ryan [Mon, 11 May 2009 17:08:29 +0000 (19:08 +0200)]
Add status code reasons to server API.

15 years agochange the http server response api slightly
Ryan [Mon, 11 May 2009 16:54:52 +0000 (18:54 +0200)]
change the http server response api slightly

15 years agoAdd profile window around socket on_read.
Ryan [Mon, 11 May 2009 15:16:14 +0000 (17:16 +0200)]
Add profile window around socket on_read.

15 years agodon't die on EPIPE
Ryan [Thu, 7 May 2009 14:18:33 +0000 (16:18 +0200)]
don't die on EPIPE

15 years agoAdd accessor File#encoding
Ryan [Thu, 7 May 2009 14:15:07 +0000 (16:15 +0200)]
Add accessor File#encoding

15 years agoBinary HTTP bodies for both requests and responses.
Ryan [Thu, 7 May 2009 10:15:01 +0000 (12:15 +0200)]
Binary HTTP bodies for both requests and responses.

15 years agoget chunked responses working
Ryan [Wed, 6 May 2009 17:07:43 +0000 (19:07 +0200)]
get chunked responses working

15 years agonode.http.Server was not getting req.path, etc.
Ryan [Wed, 6 May 2009 13:03:13 +0000 (15:03 +0200)]
node.http.Server was not getting req.path, etc.

15 years agoCreate node.http.Server and node.http.LowLevelServer
Ryan [Wed, 6 May 2009 12:54:28 +0000 (14:54 +0200)]
Create node.http.Server and node.http.LowLevelServer

The LowLevelServer is a direct interface to the parser given people access
to things like partially received headers. This could be used to implement
an extremely optimized server which acts before parsing is complete.

Most people will be using node.http.Server which is still rather low-level
compared to other http interfaces, but does take care of some details for
you.

15 years agolink to google profiler
Ryan [Tue, 5 May 2009 19:16:19 +0000 (21:16 +0200)]
link to google profiler

15 years agoVarious fixes to make the web server not give off so many errors.
Ryan [Tue, 5 May 2009 17:39:08 +0000 (19:39 +0200)]
Various fixes to make the web server not give off so many errors.

15 years agoReference counting. Network bugs.
Ryan [Tue, 5 May 2009 16:11:04 +0000 (18:11 +0200)]
Reference counting. Network bugs.

Connections were being garbage collected while they were still in progress
since the object would leave scope. This commit adds ObjectWrap::Attach()
and ObjectWrap::Detach() to tell v8 that an object is currently on the event
loop and will be needed in the future.

Other changes to oi_socket.c and net.cc are to fix bugs encountered while
running the HTTP server.

15 years agoupdate oi_socket - modify node code to match
Ryan [Tue, 5 May 2009 10:52:18 +0000 (12:52 +0200)]
update oi_socket - modify node code to match

15 years agoSome fixes to allow HTTPServer to begin listening.
Ryan [Mon, 4 May 2009 15:38:17 +0000 (17:38 +0200)]
Some fixes to allow HTTPServer to begin listening.

Just tested it and it is accepting connections and parsing! Will add units
soon.

15 years agoImplement HTTPServer (untested!)
Ryan [Mon, 4 May 2009 15:19:04 +0000 (17:19 +0200)]
Implement HTTPServer (untested!)

Mostly this is setting up the proper interface to be able to create the HTTP
server.

15 years agoMake onError work for TCPConnection.
Ryan [Mon, 4 May 2009 14:36:57 +0000 (16:36 +0200)]
Make onError work for TCPConnection.