00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:03:34  * Fishrock123quit (Remote host closed the connection)
00:07:13  * Fishrock123joined
00:10:42  * jgiquit (Quit: jgi)
00:16:47  * jgijoined
00:16:54  * octetcloudquit (Ping timeout: 272 seconds)
00:17:52  * thlorenzjoined
00:20:16  * jasnellquit (Remote host closed the connection)
00:20:43  * thlorenzquit (Remote host closed the connection)
00:20:51  * jasnelljoined
00:21:44  * dap_quit (Quit: Leaving.)
00:25:35  * jasnellquit (Ping timeout: 264 seconds)
00:29:09  * inolenquit (Quit: Leaving.)
00:38:18  * brsonquit (Quit: leaving)
00:43:12  * AvianFluquit (Ping timeout: 252 seconds)
00:46:23  * jgiquit (Quit: jgi)
00:47:25  * srl295quit (Quit: No Ping reply in 180 seconds.)
00:47:58  * srl295joined
00:47:58  * srl295quit (Changing host)
00:47:58  * srl295joined
00:50:04  * chris_99quit (Remote host closed the connection)
00:57:22  * Tux64changed nick to Tux64_
00:57:28  * Tux64_changed nick to Tux64
00:57:45  * Tux64changed nick to Tux64_
00:58:32  * brsonjoined
00:59:51  * brsonquit (Client Quit)
01:10:41  * avalanche123quit (Remote host closed the connection)
01:14:27  * octetcloudjoined
01:21:36  * thlorenzjoined
01:26:31  * thlorenzquit (Ping timeout: 255 seconds)
01:41:34  * Fishrock123quit (Quit: Leaving...)
02:03:11  * reqshark__changed nick to reqshark
02:04:53  * AlexisMochaquit (Ping timeout: 246 seconds)
02:19:43  * thlorenzjoined
02:36:26  * thlorenzquit (Remote host closed the connection)
02:55:14  * Ralithquit (Ping timeout: 272 seconds)
03:02:54  * Left_Turnquit (Remote host closed the connection)
03:04:03  * tylerantonquit (Quit: tyleranton)
03:22:18  * jasnelljoined
03:23:55  * Ralithjoined
03:25:25  * zju4joined
03:26:29  * jasnellquit (Ping timeout: 246 seconds)
03:28:19  * octetclo1joined
03:28:38  * zjuquit (Ping timeout: 246 seconds)
03:28:38  * octetcloudquit (Ping timeout: 246 seconds)
03:37:05  * pquernaquit (Disconnected by services)
03:37:09  * pquerna_joined
03:37:12  * thlorenzjoined
03:38:22  * toothrotquit (Ping timeout: 255 seconds)
03:40:21  * jgijoined
03:42:06  * thlorenzquit (Ping timeout: 272 seconds)
03:50:18  * asfasfjoined
03:59:48  * pquerna_changed nick to pquerna
04:05:22  * jasnelljoined
04:12:29  * avalanche123joined
04:17:04  * avalanche123quit (Ping timeout: 255 seconds)
04:19:22  * jasnellquit (Remote host closed the connection)
04:19:58  * jasnelljoined
04:20:51  * rmgquit (Remote host closed the connection)
04:21:21  * jgiquit (Quit: jgi)
04:24:17  * jasnellquit (Ping timeout: 244 seconds)
04:31:03  * inolenjoined
04:35:56  * inolenquit (Ping timeout: 272 seconds)
04:41:13  * bradleymeckjoined
04:50:15  * avalanche123joined
04:59:47  * avalanche123quit (Remote host closed the connection)
05:05:46  * bradleymeckquit (Quit: bradleymeck)
05:12:24  * octetclo1quit (Ping timeout: 264 seconds)
05:14:38  * bradleymeckjoined
05:18:12  * a3fjoined
05:18:56  * rmgjoined
05:20:46  * asfasfquit (Ping timeout: 246 seconds)
05:23:59  * rmgquit (Ping timeout: 245 seconds)
05:26:10  * thlorenzjoined
05:30:20  * thlorenzquit (Ping timeout: 246 seconds)
05:41:18  * bradleymeckquit (Quit: bradleymeck)
05:42:52  * bradleymeckjoined
05:53:33  * wolfeidauquit (Remote host closed the connection)
06:06:21  * seishunjoined
06:14:16  * bradleymeckquit (Quit: bradleymeck)
06:14:52  * bradleymeckjoined
06:15:39  * qardquit (Quit: leaving)
06:23:37  * jasnelljoined
06:27:07  * thlorenzjoined
06:27:44  * jasnellquit (Ping timeout: 245 seconds)
06:31:38  * thlorenzquit (Ping timeout: 246 seconds)
06:39:30  * avalanche123joined
06:41:48  * AlexisMochajoined
06:45:07  * avalanche123quit (Ping timeout: 255 seconds)
07:15:21  * bradleymeck_joined
07:15:34  * bradleymeckquit (Read error: Connection reset by peer)
07:15:34  * bradleymeck_changed nick to bradleymeck
07:23:23  * AlexisMochaquit (Ping timeout: 246 seconds)
07:35:48  * seishunquit (Ping timeout: 264 seconds)
07:39:28  * a3fquit (Quit: My Mac has gone to sleep. ZZZzzz…)
07:39:57  * piscisaureusquit (Ping timeout: 252 seconds)
08:06:24  * roxlujoined
08:16:03  * thlorenzjoined
08:20:46  * thlorenzquit (Ping timeout: 272 seconds)
08:26:14  * tumdedumquit (Ping timeout: 256 seconds)
08:27:21  * benjamingrquit (Quit: Connection closed for inactivity)
08:27:25  * tumdedumjoined
08:37:53  * SergeiRNDjoined
08:45:10  * rendarjoined
08:46:38  * milojquit (Ping timeout: 256 seconds)
09:13:02  * jasnelljoined
09:16:57  * thlorenzjoined
09:17:29  * jasnellquit (Ping timeout: 252 seconds)
09:20:46  * SergeiRNDquit (Quit: Leaving.)
09:22:00  * thlorenzquit (Ping timeout: 264 seconds)
09:22:06  * a3fjoined
09:33:55  * a3fquit (Quit: My Mac has gone to sleep. ZZZzzz…)
09:37:50  * Left_Turnjoined
10:04:32  * LinuxJed_joined
10:07:49  * LinuxJediquit (Ping timeout: 256 seconds)
10:20:29  <rendar>if i'm using libuv to read, let's say, an HTTP request, which ends with '\n', the best method is have an on_read loop, saving the parsing state somewhere, and triggering on_http_req when i find a '\n', right? but if i want to do this, will i have a double buffer? since i can only do uv_read_start(); without specify the buffer where i want to read data, and if i rceive a partial request, i have
10:20:29  <rendar>to save it in a temporary double buffer: let's say with the first on_read i'll get "GET /home/t" and with the second on_read i'll get "emporary/files\n", i need to save these 2 data in a second buffer to have a continuous string of "GET /home/temporary/files\0" -- right?
10:23:48  * Left_Turnquit (Ping timeout: 264 seconds)
10:30:05  * LinuxJed_quit (Quit: Textual IRC Client: www.textualapp.com)
10:58:37  <txdv>rendar: yes
11:01:56  * Left_Turnjoined
11:01:59  <rendar>txdv: i see, so i'll have double buffers?
11:03:15  <txdv>well there are many approaches here
11:03:19  <txdv>you can create a super big buffer
11:03:33  <txdv>adn tell the read next read to just write after "GET /home/t" into the buffer
11:04:06  <rendar>txdv: hmm i see
11:04:26  <rendar>txdv: i thought since there is uv_read_start(); there is no way to tell read which buffers to use
11:04:48  <txdv>alloc_cb is called before the read
11:05:02  <rendar>oh, so i can pass a buffer there
11:05:22  <rendar>in alloc_cb i pass the pointer just after "GET /home/t" right?
11:05:45  * thlorenzjoined
11:06:02  * tylerantonjoined
11:06:13  <txdv>int uv_read_start(uv_stream_t*, uv_alloc_cb alloc_cb, uv_read_cb read_cb)
11:06:26  <txdv>yeah
11:06:31  <rendar>i see
11:06:42  <rendar>that would be a solution, yes
11:06:52  <txdv>you have full control of what uv_read picks next
11:08:21  * tylerantonquit (Client Quit)
11:09:13  <rendar>txdv: is there also an alloc_cb for when a new incoming connection is coming? doesn't libuv allocate some data structure for such an incmoing connection from tcp or pipes?
11:09:37  <txdv>you get an event notification
11:09:46  <txdv>then you need to tcp_init and provide a pointer to uv_accept
11:09:56  <txdv>so you allocate yourself for tcp_init
11:10:17  * thlorenzquit (Ping timeout: 250 seconds)
11:16:38  * chris_99joined
11:45:08  * bradleymeckquit (Quit: bradleymeck)
11:45:32  <rendar>txdv: you mean uv_tcp_init(= ?
11:46:45  <txdv>yeah
11:46:53  * tylerantonjoined
11:46:57  <txdv>i think since we are in the #libuv channel i can drop the uv_ prefixes when talking api
11:47:42  * thlorenzjoined
11:49:13  <rendar>txdv: i see, the problem with that approach is that you pass to read a smaller and smaller buffer, in order to complete the HTTP request
11:50:04  <txdv>the headers are usually ~1500 bytes
11:50:19  <txdv>also when you parse the header, you pass the content somewhere else
11:50:32  <txdv>resizing is an option
11:50:33  <rendar>txdv: consider this case: read1 "GET /myur" -- read2 "l/\n" -- in the last read i read only 3 bytes, but if i'd pass the entire read buffer, i'd have read much more bytes, e.g. "l/\nGET /nexturl\n"
11:51:38  <txdv>i dont understand your question
11:52:13  * thlorenzquit (Ping timeout: 252 seconds)
11:52:26  <rendar>txdv: consider a buffer of 128 bytes, with your solution of reading the first 128 bytes, then finish reading the remaining bytes by passing them with alloc_cb, you have to do more syscalls
11:52:33  <rendar>than reading *always* 128 bytes
11:52:47  <rendar>and moving bytes in a second buffer, maybe with memcpy
11:52:56  <txdv>yeah
11:53:03  <txdv>resizing the buffer
11:53:31  <txdv>also if your parser is good enough it will allow you to let go of older stuff
11:53:49  <txdv>like if it parsed GET /whatever\n, then you can move the remainder
11:53:54  <rendar>yeah
11:55:40  <txdv>yeah if you go down deep like that you have to think about moving memory and stuff
11:55:51  <txdv>everything is easier if you have a language like javascript
11:55:58  <txdv>rendar: what are you doing currently with libuv?
12:00:17  * tylerantonquit (Quit: tyleranton)
12:01:22  * tylerantonjoined
12:04:32  * tylerantonquit (Client Quit)
12:05:55  <saghul>rendar: you could use some memory pool allocator, which you create per connection
12:06:09  <saghul>and allocate chunks of size X
12:06:26  * avalanche123joined
12:06:30  <saghul>then after a request is done you can reuse the chunks, in case the connection had keepalive, for example
12:10:50  * avalanche123quit (Ping timeout: 244 seconds)
12:12:00  * tylerantonjoined
12:12:48  <rendar>saghul: yes
12:12:59  * tylerantonquit (Client Quit)
12:13:01  <rendar>txdv: a very tiny http server
12:13:10  <rendar>(sorry for late reply, i was afk)
12:13:58  <rendar>saghul: the problem is that, even with the pool allocator, there may be some time when you have to store somewhere *half* url you get from on_read, before storing the other half coming in the next on_read
12:14:18  * SergeiRNDjoined
12:14:35  <rendar>saghul: a pool allocator which allocates such chunks, but they're not contiguous in memory, will "break" the url in 2 different memory locations
12:14:42  * tylerantonjoined
12:17:46  <txdv>well either make it bigger
12:17:58  <txdv>or copy them together into a single buffer
12:18:09  <rendar>yeah, that's are the solutions
12:18:24  <txdv>is are
12:20:05  <rendar>that's the solution, sorry :)
12:23:13  * tylerantonquit (Quit: tyleranton)
12:26:38  * thlorenzjoined
12:27:24  * reqsharkquit (Quit: Be back later ...)
12:33:34  * toothrotjoined
12:41:38  * Rolinhjoined
12:42:04  * Rolinhpart
12:50:20  * jasnelljoined
12:54:58  * jasnellquit (Ping timeout: 265 seconds)
12:57:13  * bradleymeckjoined
13:07:01  * toothrotquit (Ping timeout: 252 seconds)
13:20:36  * roxluquit (Quit: My Mac has gone to sleep. ZZZzzz…)
13:28:39  * roxlujoined
13:49:41  * AvianFlujoined
13:57:08  * bradleymeckquit (Read error: Connection reset by peer)
13:57:28  * bradleymeckjoined
13:58:58  * lance|afkchanged nick to lanceball
14:05:01  * reqsharkjoined
14:07:18  * reqshark_joined
14:08:26  * txdvquit (Ping timeout: 265 seconds)
14:09:38  * reqsharkquit (Ping timeout: 256 seconds)
14:10:58  * txdv_joined
14:11:00  * txdv_changed nick to txdv
14:11:55  <txdv>my server just died
14:11:56  <txdv>:(
14:15:45  * Fishrock123joined
14:30:24  * Mark__quit (Quit: Page closed)
14:33:26  * brsonjoined
14:35:46  * reqshark_quit (Quit: Be back later ...)
14:43:10  * reqshark_joined
14:49:25  * reqshark_quit (Quit: Be back later ...)
15:01:28  * bradleymeckquit (Ping timeout: 255 seconds)
15:06:20  * bradleymeckjoined
15:13:47  * brsonquit (Quit: leaving)
15:14:03  * brsonjoined
15:17:36  * jasnelljoined
15:23:45  * daviddiasjoined
15:30:44  <MI6>joyent/node: Gireesh Punathil refs/tags/jenkins-accept-pull-request-temp * ada6f83 : test: remove early timers in simple http tests. (+1 more commits) - http://git.io/jIQ4
15:31:30  <MI6>joyent/node: Gireesh Punathil refs/tags/jenkins-accept-commit-temp * d783c38 : test: remove early timers in simple http tests. (+1 more commits) - http://git.io/jI7B
15:38:30  * brsonquit (Quit: leaving)
16:02:53  * jasnellquit (Quit: Leaving...)
16:08:57  * piscisaureusjoined
16:11:45  * avalanche123joined
16:15:10  * SergeiRNDquit (Quit: Leaving.)
16:16:44  * dap_joined
16:20:03  * avalanche123quit (Remote host closed the connection)
16:21:58  * avalanche123joined
16:22:01  * AlexisMochajoined
16:29:48  * Ralithquit (Ping timeout: 264 seconds)
16:35:55  <txdv>hm
16:36:01  <txdv>abstracting code away i noticed something
16:47:08  * daviddiasquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:56:31  * Ralithjoined
17:01:30  * FROGGS[mobile]joined
17:08:17  * thlorenzquit (Remote host closed the connection)
17:09:20  * thlorenzjoined
17:10:37  * roxluquit (Quit: My Mac has gone to sleep. ZZZzzz…)
17:19:25  * reqshark_joined
17:22:20  * octetclo1joined
17:22:46  * thlorenzquit (Ping timeout: 255 seconds)
17:23:49  * seishunjoined
17:26:15  * AlexisMochaquit (Ping timeout: 252 seconds)
17:27:59  <txdv>saghul: where can i get a shirt?
17:28:32  * reqshark_quit (Quit: Be back later ...)
17:28:49  <saghul>txdv: http://teespring.com/libuv
17:38:22  * AlexisMochajoined
17:39:18  * avalanche123quit (Remote host closed the connection)
17:39:27  * thlorenzjoined
17:40:28  * AlexisMochaquit (Read error: Connection reset by peer)
17:42:41  * AlexisMochajoined
17:51:07  * AlexisMochaquit (Ping timeout: 255 seconds)
17:52:40  * piscisaureusquit (Ping timeout: 272 seconds)
17:56:44  * AlexisMochajoined
18:02:18  * avalanche123joined
18:02:55  * AlexisMochaquit (Read error: Connection reset by peer)
18:05:14  * AlexisMochajoined
18:05:28  * bradleymeckquit (Quit: bradleymeck)
18:12:14  * dap_quit (Ping timeout: 252 seconds)
18:13:24  * rmgjoined
18:16:35  * dap_joined
18:17:56  * rmgquit (Ping timeout: 246 seconds)
18:19:48  * bradleymeckjoined
18:28:41  * roxlujoined
18:34:58  * tarruda_joined
18:48:13  <MI6>joyent/node: Nathan Woltman refs/tags/jenkins-accept-pull-request-temp * 6eed25b : path: refactor for performance and consistency - http://git.io/jtry
18:49:35  <MI6>joyent/node: Nathan Woltman refs/tags/jenkins-accept-commit-temp * caba4fd : path: refactor for performance and consistency - http://git.io/jtKO
18:50:44  * FROGGS[mobile]quit (Ping timeout: 250 seconds)
18:50:57  * FROGGS[mobile]joined
18:51:53  * SergeiRNDjoined
18:54:44  * AlexisMochaquit (Ping timeout: 272 seconds)
19:05:24  * tarruda_quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
19:07:37  * FROGGS[mobile]quit (Ping timeout: 264 seconds)
19:07:49  * FROGGS[mobile]joined
19:10:31  * piscisaureusjoined
19:12:14  * octetclo1quit (Ping timeout: 256 seconds)
19:23:49  * piscisaureusquit (Ping timeout: 255 seconds)
19:28:58  <MI6>joyent/node: Nathan Woltman refs/tags/jenkins-accept-commit-temp * c66f8c2 : path: refactor for performance and consistency - http://git.io/jtxj
19:32:02  * bentkusjoined
19:55:31  <MI6>joyent/node: Nathan Woltman v0.12 * c66f8c2 : path: refactor for performance and consistency - http://git.io/jqt4
20:12:46  * SergeiRNDquit (Quit: Leaving.)
20:15:26  * saghulquit (Ping timeout: 252 seconds)
20:16:19  * reqshark_joined
20:17:39  * sh1mmerjoined
20:18:58  * sh1mmerquit (Client Quit)
20:25:16  * reqshark_quit (Quit: Be back later ...)
20:29:01  * tylerantonjoined
20:37:06  * benjamingrjoined
20:44:52  * AlexisMochajoined
20:48:10  * rendarquit (Ping timeout: 250 seconds)
20:50:56  * jgijoined
20:52:15  * octetclo1joined
20:53:01  * AlexisMochaquit (Read error: Connection reset by peer)
20:53:15  * brsonjoined
20:53:21  * FROGGS[mobile]quit (Ping timeout: 246 seconds)
20:53:34  * FROGGS[mobile]joined
20:54:38  * rendarjoined
21:06:50  * avalanche123quit (Remote host closed the connection)
21:08:05  * avalanche123joined
21:12:43  * avalanche123quit (Ping timeout: 255 seconds)
21:34:09  * FROGGS[mobile]2joined
21:35:09  * FROGGS[mobile]quit (Read error: Connection reset by peer)
21:46:08  * lanceballchanged nick to lance|afk
21:50:20  * avalanche123joined
21:54:19  * qardjoined
21:55:19  * Tux64_changed nick to Tux64
21:56:44  * milojjoined
21:56:47  * milojquit (Excess Flood)
22:00:12  * thlorenzquit (Remote host closed the connection)
22:01:09  * wolfeidaujoined
22:02:32  * bradleymeckquit (Quit: bradleymeck)
22:06:29  * milojjoined
22:10:32  * Fishrock123quit (Remote host closed the connection)
22:13:34  * seishunquit (Ping timeout: 256 seconds)
22:14:37  * piscisaureusjoined
22:30:41  * sh1mmerjoined
22:36:42  * toothrotjoined
22:41:26  * reqshark_joined
22:42:12  * reqshark_changed nick to reqshark
22:54:12  * sh1mmerquit (Quit: sh1mmer)
22:57:44  * AlexisMochajoined
23:10:40  * avalanche123quit (Remote host closed the connection)
23:11:21  * avalanch_joined
23:11:26  * Fishrock123joined
23:12:41  * rendarquit
23:16:28  * Fishrock123quit (Ping timeout: 256 seconds)
23:20:36  * bradleymeckjoined
23:27:47  * octetclo1quit (Ping timeout: 252 seconds)
23:33:57  * bradleymeckquit (Read error: Connection reset by peer)
23:35:59  * bradleymeckjoined
23:46:11  * avalanch_quit (Remote host closed the connection)
23:47:13  * avalanche123joined
23:49:44  * octetclo1joined
23:51:49  * bradleymeckquit (Quit: bradleymeck)
23:55:34  * bradleymeckjoined
23:56:29  * kellabytejoined