Commit Graph

5826 Commits (928ea564d16da47e615ddac627e0b4d4a40d8196)

Author SHA1 Message Date
Ryan 2e5b85a13b Some fixes to allow HTTPServer to begin listening.
Just tested it and it is accepting connections and parsing! Will add units
soon.
2009-05-04 17:38:17 +02:00
Ryan 9c3770d999 Implement HTTPServer (untested!)
Mostly this is setting up the proper interface to be able to create the HTTP
server.
2009-05-04 17:19:04 +02:00
Ryan b763ee0ad4 Make onError work for TCPConnection. 2009-05-04 16:36:57 +02:00
Ryan 6149c6c49a Fix HTTPConnection javascript inheritance. 2009-05-04 16:23:30 +02:00
Ryan 38726e7272 various clean ups; HTTPConnection (js side) inherits from TCPConnection 2009-05-04 15:39:36 +02:00
Ryan 09c2ae5c3e Slight change in tcp connection constructor
For server-side sockets, no longer pass the server object to the
js constructor. This is set later with SetAcceptor.

I think the change is a bit strage and convoluted but it allows one give
protocol /classes/ to the c++ constructors instead of protocol instances.
This is nice because derived classes (like HTTP) don't need to copy the
protocol instanciation code.
2009-05-04 12:08:13 +02:00
Ryan 4860f1c92c add onMessageComplete and onBody handlers. 2009-05-03 21:37:10 +02:00
Ryan be6b3acf0e extract headers, status_code, path, http version from http messages.
still a work in progress.
2009-05-03 21:06:20 +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 bb6057d9ad rename Connection.disconnect -> Connection.close 2009-05-03 01:11:39 +02:00
Ryan 13062832d8 cleanup: rename some of the callbacks 2009-05-03 01:06:21 +02:00
Ryan 1713386580 add Connection::SendEOF. modify test accordingly. 2009-05-03 01:01:42 +02:00
Ryan 15d24d8002 Major refactor of network code
Here I massively change both the external and internal API of the TCP
sockets and servers.

This change introduces the concept of a protocol object like is found in
Twisted Python. I believe this allows for a much cleaner description of how
a socket behaves. What was once a single object "client" or "connection" is
now represented by two objects: a "connection" and a "protocol".

Well - I don't want to ramble too much because neither API is yet public or
documented.  Look the diff of test/test-pingpong.js to see how things have
changed.
2009-05-02 16:34:24 +02:00
Ryan 3886e183fd Add test for setInterval 2009-04-29 14:12:24 +02:00
Ryan fd392d0a50 Remove `if (pointer == NULL)` after allocations with `new`.
I'm still learning C++.
2009-04-29 14:05:25 +02:00
Ryan cbd342a12d Publicize Socket and Server for eventual cooperation with HttpServer.
Also changed Init_net() to Socket::Initialize() and Server::Initialize().
Seems more object oriented, but I'm unsure how this will play when I want
load modules dynamically with dlopen(). I'll sit with it for a while and
see how it feels.
2009-04-29 14:00:22 +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 f213a27657 Refactor setTimeout to be a Timer object.
Timer now uses ObjectWrap. setTimeout, setInterval are now implemented in
javascript.
2009-04-29 11:00:46 +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 8e7bbf26e2 get 'make install' working 2009-04-23 19:26:56 +02:00
Ryan f17ecf20be change localhost to 127.0.0.1 because macs suck 2009-04-23 19:04:01 +02:00
Ryan 29b528c980 fix the waf configure --debug options. seems to work now. 2009-04-23 17:29:31 +02:00
Ryan 0ea7577a72 sign error on file position argument 2009-04-23 15:07:54 +02:00
Ryan 8a8e9df72e wasn't sending pos arg for puts() 2009-04-23 14:22:57 +02:00
Ryan a4593e3ebd WAF: fix the debug variant.
problem is they both build by default. need a way to disable the debug variant.
2009-04-23 13:18:38 +02:00
Ryan 0b1e3240be add position arguments to File#read and File#write 2009-04-23 12:10:57 +02:00
Ryan 8514e0627a improved ping pong test. 2009-04-23 01:14:11 +02:00
Ryan c62b124082 add scons local for v8. check for librt in wscript 2009-04-22 19:55:08 +02:00
Ryan 40c0f755c9 import full versions of dependency libraries! 2009-04-22 19:35:47 +02:00
Ryan a93cf50307 BROKEN COMMIT: removing git submodules 2009-04-22 18:17:56 +02:00
Ryan 7703ad5153 update eio. add EIO_STACKSIZE define for getaddrinfo problem 2009-04-22 17:19:08 +02:00
Ryan e6d96e8e66 rename echoserver -> pingpong 2009-04-22 16:05:14 +02:00
Ryan f3f9a08de1 beef up the echoserver test 2009-04-22 16:04:05 +02:00
Ryan 63ec0454d2 add echo test. remove debug printfs 2009-04-22 15:52:23 +02:00
Ryan d996b59d9c fix some errors/memleaks 2009-04-22 15:48:29 +02:00
Ryan 48b4ac4a8d implment server.close 2009-04-22 14:09:17 +02:00
Ryan c986b99ddc throw error when given a bad arguement to socket.write 2009-04-22 14:01:45 +02:00
Ryan 3095861199 bug fix: recving raw data was incorrect. 2009-04-22 13:59:28 +02:00
Ryan 5f902a61e1 tcp server is accepting connections now.
(experiencing a problem with writing rawEncoding on the sockets. will fix in next commit.)
2009-04-22 13:52:30 +02:00
Ryan 822d7fa27e add framework for tcp server. change eio stacksize to 16kb. 2009-04-22 10:29:45 +02:00
Ryan 140a032894 oops. call onConnect callback not onRead callback after connecting 2009-04-21 23:36:01 +02:00
Ryan 1542fc6a0b add async dns for Socket 2009-04-21 23:13:13 +02:00
Ryan 707f244291 begin clean up of Socket 2009-04-21 19:56:30 +02:00
Ryan d105d88625 on_load -> onLoad 2009-04-21 16:30:47 +02:00
Ryan 5d57fa5060 clean up timers a bit 2009-04-21 16:24:56 +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 a0f2b8a0c5 remove debug messages from module loading. 2009-04-21 14:38:55 +02:00
Ryan 408526a1c1 debugging/improving the module framework 2009-04-21 13:52:21 +02:00