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
Ryan
ec9697b1ba
add 'make test'
2009-04-21 13:51:05 +02:00