00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:01:05  * dan336quit (Quit: Leaving.)
00:01:50  * thlorenz_joined
00:03:21  * reqsharkquit (Ping timeout: 250 seconds)
00:06:15  * thlorenz_quit (Ping timeout: 256 seconds)
00:07:37  <Domenic>piscisaureus: would be interested in your thoughts on https://github.com/whatwg/streams/issues/290.
00:11:02  <Domenic>indutny: could you explain more exactly how/why readInto helps C++ beat JS streams?
00:15:21  <indutny>Domenic: allocation turned out to be very expensive when I was optimizing TLS sockets
00:15:32  <indutny>and in fact
00:15:35  <indutny>TLS has it's own internal buffers
00:15:43  <indutny>from which it reads
00:15:46  <indutny>and to which it writes
00:15:52  <indutny>doing it the JS-way
00:16:03  <indutny>means that you should copy data on input and output too
00:16:15  <indutny>right now it goes directly to kernel
00:16:16  <indutny>and from kernel
00:16:34  <Domenic>how does that work?
00:16:50  <indutny>we are reading right into OpenSSL buffer
00:16:55  <indutny>and writing out of it
00:17:00  <indutny>instead of creating buffers
00:17:06  <Domenic>there are ... 3 buffers in play? kernel socket buffer, OpenSSL buffer, and then JS Buffer class backing memory?
00:17:41  <indutny>yeah
00:17:54  <indutny>in fact more
00:18:01  <indutny>as there are two streams for each TLS socket
00:18:07  <indutny>one for encrypted data
00:18:07  <Domenic>ok so the readInto magic is that you did something like kernel.readMeInto(openSSLBuffer, appropriateLocationInfo)
00:18:10  <indutny>and one for cleartext
00:18:15  <indutny>yes
00:18:31  <Domenic>very interesting
00:18:41  * chris_99quit (Remote host closed the connection)
00:19:02  <Domenic>do you do a buffer copy to get into the JS Buffer backing or can you have that backed directly by the OpenSSL buffer? Probably not since the OpenSSL buffer is ... scratchwork?
00:19:18  * chris_99joined
00:21:25  <Domenic>this seems a bit hard to apply to the question of whether JS streams need readInto though
00:21:48  <Domenic>I guess you could imagine a JS library similar to OpenSSL that has some buffers it owns and if you want it to do work on data, you need to put data in those buffers
00:22:10  <Domenic>so in that case jsStream.readInto(thatLibrary.buffer, ...) is analogous and important
00:23:17  <indutny>sorry
00:23:19  <indutny>I'm half afk
00:23:24  <Domenic>np, I think I've got it :)
00:23:37  <indutny>in few words
00:23:40  <indutny>it is really important :)
00:23:46  <indutny>I wish we could allocate even less
00:23:55  <indutny>and don't copy the data from the OpenSSL buffers on read
00:24:01  <indutny>but lifetime is different
00:24:14  <indutny>though, it might be interested to do a copy-on-destroy experiment
00:26:34  <indutny>brb
00:29:51  <MI6>joyent/node: Julien Gilli v0.12 * b233131 : src: fix builtin modules failing with --use-strict - http://git.io/xYi0
00:30:53  * brsonjoined
00:48:34  * chris_99quit (Quit: Ex-Chat)
01:02:35  * thlorenz_joined
01:06:10  <MI6>joyent/node: Julien Gilli v0.12 * e82e86b : Merge remote-tracking branch 'upstream/v0.10' into v0.12 (+1 more commits) - http://git.io/xYQi
01:06:53  * thlorenz_quit (Ping timeout: 246 seconds)
01:13:04  * brsonquit (Quit: leaving)
01:31:30  * reqsharkjoined
01:36:03  <MI6>joyent/node: Julien Gilli master * 4b69dcb : Merge remote-tracking branch 'upstream/v0.12' (+11 more commits) - http://git.io/xYxT
01:40:44  * AlexisMochaquit (Ping timeout: 256 seconds)
01:43:57  * qardquit (Quit: leaving)
01:52:26  <MI6>joyent/node: Julien Gilli refs/tags/jenkins-accept-pull-request-temp * 6f939de : src: enable strict mode in all builtin modules - http://git.io/xYhp
01:52:47  * Ralithquit (Ping timeout: 256 seconds)
01:52:50  <MI6>joyent/node: Julien Gilli refs/tags/jenkins-accept-commit-temp * d2b8525 : src: enable strict mode in all builtin modules - http://git.io/xYhj
02:03:31  * thlorenz_joined
02:07:52  * thlorenz_quit (Ping timeout: 240 seconds)
02:08:51  * jgiquit (Quit: jgi)
02:20:21  * tarrudajoined
02:20:33  * dan336joined
02:21:15  * tarrudaquit (Client Quit)
02:21:31  * AlexisMochajoined
02:24:42  * dan336quit (Client Quit)
02:28:35  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
02:28:50  * qardjoined
02:35:25  * avalanche123joined
02:36:01  * reqshark_joined
02:36:01  * reqsharkquit (Read error: Connection reset by peer)
02:36:02  * reqshark_quit (Remote host closed the connection)
02:36:09  * reqshark_joined
02:39:36  * jgijoined
02:40:27  * avalanche123quit (Remote host closed the connection)
02:52:26  * jgiquit (Quit: jgi)
02:52:57  * jgijoined
02:59:15  * jgiquit (Quit: jgi)
03:00:01  * Ralithjoined
03:00:58  * jgijoined
03:04:17  * thlorenz_joined
03:05:28  * Ralith_joined
03:06:20  * Ralithquit (Read error: Connection reset by peer)
03:08:22  * thlorenz_quit (Ping timeout: 244 seconds)
03:24:00  * rmgquit (Read error: Connection reset by peer)
03:24:37  * rmgjoined
03:26:36  * stagasjoined
03:28:52  * rmgquit (Read error: Connection reset by peer)
03:29:08  * rmgjoined
03:37:14  * benjamingrquit (Quit: Connection closed for inactivity)
03:40:54  * avalanche123joined
03:45:06  * benjamingrjoined
03:46:37  * avalanche123quit (Ping timeout: 264 seconds)
03:49:22  * Left_Turnquit (Remote host closed the connection)
03:51:20  * rmgquit (Remote host closed the connection)
03:55:14  * stagasquit (Ping timeout: 246 seconds)
04:05:03  * thlorenz_joined
04:09:20  * thlorenz_quit (Ping timeout: 244 seconds)
04:33:12  * brsonjoined
04:40:02  * jgiquit (Quit: jgi)
04:47:34  * jgijoined
04:51:59  * jgiquit (Client Quit)
05:00:00  * inolenjoined
05:05:53  * thlorenz_joined
05:10:35  * thlorenz_quit (Ping timeout: 250 seconds)
05:10:48  * a3fquit (Ping timeout: 252 seconds)
05:26:47  * jgijoined
05:27:36  * jgiquit (Client Quit)
05:54:30  * wolfeidauquit (Remote host closed the connection)
05:55:56  * wolfeidaujoined
06:00:18  * wolfeidauquit (Ping timeout: 252 seconds)
06:06:43  * thlorenz_joined
06:11:20  * thlorenz_quit (Ping timeout: 246 seconds)
06:55:01  * brson_joined
06:58:10  * brsonquit (Ping timeout: 255 seconds)
06:58:44  * wolfeidaujoined
07:07:29  * thlorenz_joined
07:08:42  * brson_quit (Quit: leaving)
07:12:14  * thlorenz_quit (Ping timeout: 256 seconds)
07:24:16  * kellabytequit (Quit: Connection closed for inactivity)
07:40:02  * Ralith_changed nick to Ralith
07:42:02  * AvianFluquit (Remote host closed the connection)
07:48:56  * orthecreedencejoined
07:51:16  <orthecreedence>hello, does uv_write copy data out of the passed uv_bufs when called? i'm running into strange data overlap issues when serving multiple requests, and i'm thinking a possible cause is reusing the output buffer.buffer
08:08:17  * thlorenz_joined
08:08:20  <saghul>orthecreedence: it copies the structure, but not the data
08:11:08  <orthecreedence>so if i create a uv_buf with a global buffer, send it to uv_write, then call uv_write again with the same global buffer (different contents), then it's possible that the second uv_write call could overwrite the data sent to the first uv_write?
08:12:29  * thlorenz_quit (Ping timeout: 246 seconds)
08:13:12  * SergeiRNDjoined
08:15:08  * qardquit (Quit: leaving)
08:29:38  * stagasjoined
08:47:56  <orthecreedence>saghul: i guesswhat i'm wondering is at what point is it safe to free the original buffer (that uv_buf wraps) after calling uv_write?
09:09:06  * thlorenz_joined
09:13:41  * thlorenz_quit (Ping timeout: 246 seconds)
09:30:47  * rmgjoined
09:33:45  * seishunjoined
09:35:34  * rmgquit (Ping timeout: 272 seconds)
09:58:37  * stagasquit (Ping timeout: 264 seconds)
10:09:55  * thlorenz_joined
10:14:14  * thlorenz_quit (Ping timeout: 246 seconds)
10:14:26  * a3fjoined
10:18:18  * orthecreedencequit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
10:31:52  * chris_99joined
10:47:30  * stagasjoined
10:50:45  * zju1joined
10:52:10  * zju4joined
10:52:44  * zju3quit (Ping timeout: 246 seconds)
10:53:49  * zju2quit (Ping timeout: 264 seconds)
10:57:41  * Left_Turnjoined
11:02:12  * stagasquit (Ping timeout: 246 seconds)
11:03:42  * tarrudajoined
11:05:42  * tarrudaquit (Remote host closed the connection)
11:07:18  * tarrudajoined
11:10:46  * thlorenz_joined
11:14:52  * thlorenz_quit (Ping timeout: 245 seconds)
11:15:53  * tarrudaquit (Remote host closed the connection)
11:20:06  * saghul_joined
11:24:31  * imzyxwvujoined
11:39:34  * saghul_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
12:09:16  <txdv>how sweet a little mbp going to sleep
12:11:30  * thlorenz_joined
12:15:46  * thlorenz_quit (Ping timeout: 252 seconds)
12:27:47  * Left_Turnquit (Ping timeout: 245 seconds)
12:50:45  * Left_Turnjoined
13:08:34  * a3fquit (Ping timeout: 252 seconds)
13:12:19  * thlorenz_joined
13:14:14  * a3fjoined
13:16:38  * thlorenz_quit (Ping timeout: 252 seconds)
13:23:29  * SergeiRNDquit (Quit: Leaving.)
13:51:09  * warehouse13joined
13:51:17  * tarrudajoined
13:51:45  <imzyxwvu>if i am forking a process that has some uv streams open, need i close them all in the child process?
13:54:02  * tarrudaquit (Client Quit)
13:54:03  * Left_Turnquit (Ping timeout: 250 seconds)
13:58:15  * tarrudajoined
14:01:39  * kellabytejoined
14:01:44  * Tux64_joined
14:05:44  * tarrudaquit (Remote host closed the connection)
14:13:11  * thlorenz_joined
14:17:32  * thlorenz_quit (Ping timeout: 246 seconds)
14:35:02  * chris_99quit (Remote host closed the connection)
15:04:00  * chris_99joined
15:13:59  * thlorenz_joined
15:18:22  * thlorenz_quit (Ping timeout: 252 seconds)
15:25:19  * dan336joined
15:52:06  * tarrudajoined
15:55:25  * tarrudaquit (Remote host closed the connection)
15:56:48  * tarrudajoined
15:57:51  * rmgjoined
15:59:45  * Fishrock123joined
16:00:52  * AvianFlujoined
16:02:32  * rmgquit (Ping timeout: 272 seconds)
16:04:16  * kellabytequit (Quit: Connection closed for inactivity)
16:05:36  * tarrudaquit (Remote host closed the connection)
16:06:30  * tarrudajoined
16:06:57  * AvianFluquit (Remote host closed the connection)
16:08:40  * chris_99quit (Remote host closed the connection)
16:09:11  * stagasjoined
16:09:17  * Tux64_quit (Quit: Connection closed for inactivity)
16:09:19  * chris_99joined
16:14:46  * thlorenz_joined
16:15:47  * tarrudaquit (Remote host closed the connection)
16:16:49  * reqshark_quit (Read error: Connection reset by peer)
16:17:06  * tarrudajoined
16:17:35  * reqshark_joined
16:18:56  * thlorenz_quit (Ping timeout: 246 seconds)
16:21:10  * reqshark_changed nick to reqshark
16:22:01  * imzyxwvuquit (Ping timeout: 264 seconds)
16:23:32  * tarrudaquit (Remote host closed the connection)
16:30:51  * Tux64_joined
16:34:04  * dan336quit (Quit: Leaving.)
16:43:03  * stagasquit (Ping timeout: 250 seconds)
17:00:30  * saghul_joined
17:02:18  * saghul_quit (Read error: Connection reset by peer)
17:02:24  * saghul__joined
17:13:19  * AvianFlujoined
17:15:31  * thlorenz_joined
17:20:26  * thlorenz_quit (Ping timeout: 272 seconds)
17:21:26  * reqsharkquit (Quit: Be back later ...)
17:22:58  * imzyxwvujoined
17:29:44  * reqsharkjoined
17:31:11  * pgicxplzsjoined
17:33:07  * warehouse13quit (Ping timeout: 255 seconds)
18:16:22  * thlorenz_joined
18:21:03  * thlorenz_quit (Ping timeout: 256 seconds)
18:21:08  * dan336joined
18:21:43  * SergeiRNDjoined
18:34:59  * jgijoined
18:37:14  * benjamingrquit (Quit: Connection closed for inactivity)
18:47:29  * rmgjoined
18:49:17  * Tux64_quit (Quit: Connection closed for inactivity)
18:51:19  * saghul__quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
18:52:16  * rmgquit (Ping timeout: 272 seconds)
19:05:05  * rmgjoined
19:05:42  * seishunquit (Ping timeout: 245 seconds)
19:15:51  * imzyxwvuquit (Ping timeout: 250 seconds)
19:16:56  * seishunjoined
19:17:09  * thlorenz_joined
19:22:06  * thlorenz_quit (Ping timeout: 256 seconds)
19:24:31  * AvianFluquit (Remote host closed the connection)
19:36:41  * FROGGS[mobile]quit (Remote host closed the connection)
19:36:43  * jgiquit (Quit: jgi)
19:54:59  * chris_99quit (Remote host closed the connection)
19:55:42  * chris_99joined
20:11:47  * SergeiRNDquit (Quit: Leaving.)
20:18:03  * thlorenz_joined
20:22:22  * thlorenz_quit (Ping timeout: 240 seconds)
20:24:06  * dan336quit (Quit: Leaving.)
20:36:45  * dan336joined
20:37:20  * jgijoined
20:41:35  * jgiquit (Client Quit)
20:53:57  * andrehjrjoined
20:54:07  * AlexisMochaquit (Read error: Connection reset by peer)
21:15:20  * jgijoined
21:16:12  * benjamingrjoined
21:18:51  * thlorenz_joined
21:19:35  * jgiquit (Client Quit)
21:22:05  * qardjoined
21:23:25  * thlorenz_quit (Ping timeout: 252 seconds)
21:41:55  * wrlpart
21:50:52  * pgicxplzsquit (Remote host closed the connection)
21:53:17  * reqsharkquit (Quit: Be back later ...)
21:56:05  * reqsharkjoined
21:56:42  * rmgquit (Remote host closed the connection)
22:19:36  * thlorenz_joined
22:24:09  * thlorenz_quit (Ping timeout: 244 seconds)
22:38:04  * Fishrock123quit (Quit: Leaving...)
22:48:56  * chris_99quit (Quit: Ex-Chat)
22:57:30  * az7ar_awayquit (Read error: Connection reset by peer)
22:57:43  * rmgjoined
23:02:19  * rmgquit (Ping timeout: 245 seconds)
23:11:35  * seishunquit (Ping timeout: 265 seconds)
23:20:26  * thlorenz_joined
23:24:36  * thlorenz_quit (Ping timeout: 244 seconds)
23:59:15  * dan336quit (Quit: Leaving.)