Commit Graph

46 Commits

Author SHA1 Message Date
Ryan Dahl
45a806a066 Statically define symbols
~7% improvement in hello world HTTP response bench.
2009-12-09 09:12:01 +01:00
choonkeat
44d5f212fe Stat::Callback has 2 arguments for callback: current stat info and previous stat info
http://groups.google.com/group/nodejs/msg/f8e51a8e0c74bd85
2009-11-28 15:13:12 +01:00
Ryan Dahl
a5df0f6a65 Prefix all source files with node_ 2009-10-27 11:46:58 +01:00
Ryan Dahl
e7096fd769 ACTUALLY remove node_version.h from node.h 2009-10-09 17:49:29 +02:00
Ryan Dahl
07792afe0a Remove "raw" encoding. Rename "raws" to "binary".
Deprecation warnings have been added to help the conversion to this new API.
2009-09-21 12:27:22 +02:00
Ryan
d6c9d31cb5 cpplint.py node.cc and node.h 2009-09-11 16:02:29 +02:00
Ryan
8890070b88 Introduce "raws" encoding. Raw String.
This allows you to have binary data imported into your application via
strings instead of arrays of numbers! This needs testing before release.
2009-09-09 17:22:20 +02:00
Ryan
21a1b045f5 Byte stream to V8 decoding and encoding.
This does not (should not) change behavior.  Pulls those two functions
(encode/decode) out into node.cc.
2009-09-09 15:52:46 +02:00
Ryan
2f46540d30 Create NODE_UNIXTIME macros 2009-09-07 12:53:44 +02:00
Ryan
8152f9cff2 Revert static library build.
Not necessary to build dll modules after all.
2009-09-01 14:15:29 +02:00
Ryan
b73264d9b3 Add command line arguments for accessing build flags.
node --cflags
node --libs

At the expense of some WAF nastiness.
2009-08-27 16:08:47 +02:00
Ryan
2b6d72431b First attempt at node.dlopen
Compiled first working 'hello world' module with this config
2009-08-27 16:08:40 +02:00
Ryan
31db4f1ed8 bump version 2009-08-27 12:31:52 +02:00
Ryan
116f4dea05 lint 2009-08-26 22:14:45 +02:00
Ryan
19f182a39f Experimental support for Promise.block() 2009-08-25 04:25:35 +02:00
Ryan
8658999c7d Refactor node.Process to take advantage of evcom_reader/writer. 2009-08-25 01:06:49 +02:00
Ryan
9c97b1db30 bump version 2009-08-22 13:07:31 +02:00
Ryan
a73998d6f4 bump version 2009-08-21 18:03:15 +02:00
Ryan
0f888ed6de bump version 2009-08-13 15:52:55 +02:00
Ryan
7464d42310 bump version 2009-08-06 14:01:26 +02:00
Ryan
1bf9be6b37 Add node.version 2009-08-03 17:51:35 +02:00
Ryan
0fb0af3a6c Rename evnet to evcom. 2009-07-25 17:52:26 +02:00
Ryan
c5ab0d5a80 Upgrade liboi, which is now called evnet. 2009-07-13 16:38:25 +02:00
Ryan
1fc4dce08b 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.)
2009-07-10 13:38:53 +02:00
Ryan
65324866bc Implement Promises for file i/o 2009-06-28 19:08:27 +02:00
Ryan
0ff62b2ea0 Move oi_buf creation to node.cc 2009-06-22 19:48:02 +02:00
Ryan
f56309deee Remove eio_warmup. Use ev_ref instead. 2009-06-22 19:32:42 +02:00
Ryan
6697cd0725 small superficial clean-ups 2009-06-13 16:47:09 +02:00
Ryan
3bdd042a6e Rename fatal_exception to FatalException 2009-05-26 18:18:17 +02:00
Ryan
e8f177aa2d Clean up outgoing encoding API. Generally: send(chunk, encoding). 2009-05-26 17:48:59 +02:00
Ryan
d1b0ce6d37 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.
2009-05-26 03:30:51 +02:00
Ryan
baed9d514d 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.
2009-05-15 16:28:10 +02:00
Ryan
427e3f5dcb Introduce NODE_SET_PROTOTYPE_METHOD which properly sets the signature. 2009-05-14 13:16:45 +02:00
Ryan
cfd61622ae 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.
2009-05-05 18:15:59 +02:00
Ryan
5a071ad72f Begin refactor of http.cc. Remove libebb add http_parser.
And most of http.cc was deleted.
2009-05-03 14:09:16 +02:00
Ryan
0f5170339c remove process.{cc,h} process.exit() now exit()
the process object might return in the future but for now it is going away.
2009-04-29 11:09:32 +02:00
Ryan
064c8f0252 Use ObjectWrap base class for File, Socket, Server. 2009-04-29 01:07:19 +02:00
Ryan
cf1c58063e Create a node namespace
Part of general reorganization.
2009-04-28 23:09:56 +02:00
Ryan
90fc8d3622 Update liboi. Use EV_MULTIPLICITY=0.
This might need to be changed in the future if ev is needed in thread pools
or extension libraries. However for now it makes sense to just use a single
loop.
2009-04-28 22:37:03 +02:00
Ryan
47fad676b4 Rename JS_ to NODE_ for method macros. add marcos to timers.cc 2009-04-21 15:55:11 +02:00
Ryan
5207226da3 fix a bug with eio polling. 2009-04-18 02:01:23 +02:00
Ryan
c8e20fbf81 add file.read only. raw encoding right now. 2009-04-16 21:05:41 +02:00
Ryan
12d31dd0b7 file operations are queued. 2009-04-16 20:09:55 +02:00
Ryan
63a9cd3897 everything is changed. i've waited much too long to commit.
this is awful. i'm sorry for being so messy.
2009-04-15 10:08:28 +02:00
Ryan
0e9e927fcb enable support for the thread pool 2009-04-04 16:53:43 +02:00
Ryan
1a126ed11c use the WAF build system 2009-04-04 14:50:15 +02:00