00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:11  * ircretaryjoined
00:11:42  * KennethWilkejoined
00:17:31  * a_le_quit (Remote host closed the connection)
00:25:46  * euoia_quit (Ping timeout: 260 seconds)
00:26:54  * avalanche123quit (Remote host closed the connection)
00:29:03  * brsonquit (Quit: leaving)
00:29:57  * brsonjoined
00:31:07  * sh1mmer_joined
00:32:28  * avalanche123joined
00:33:09  * sh1mmer_quit (Client Quit)
00:33:36  * sh1mmerquit (Ping timeout: 250 seconds)
00:33:37  * c4miloquit (Remote host closed the connection)
00:34:09  * c4milojoined
00:34:29  * sh1mmerjoined
00:35:36  * a_lejoined
00:36:51  <MI6>joyent/node: Trevor Norris v0.12 * 57ed3da : buffer: fix and cleanup fill() - http://git.io/yumOag
00:37:52  * brsonquit (Quit: leaving)
00:38:06  * brsonjoined
00:38:22  * c4miloquit (Ping timeout: 250 seconds)
00:39:37  * a3fquit (Ping timeout: 260 seconds)
00:42:20  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:42:49  * KennethWilkequit (Remote host closed the connection)
00:43:20  * zz_karupachanged nick to karupa
00:44:00  * AlexisMochajoined
00:44:05  * karupachanged nick to karupane
00:44:07  * karupanechanged nick to karupa
00:54:04  * kazuponjoined
00:54:18  * kazuponquit (Remote host closed the connection)
00:54:24  * kazuponjoined
00:54:53  * sh1mmerjoined
00:56:36  * sh1mmerquit (Client Quit)
01:01:48  * kazuponquit (Remote host closed the connection)
01:02:22  * kazuponjoined
01:04:31  * isaacs_quit (Ping timeout: 258 seconds)
01:07:00  * kazuponquit (Ping timeout: 272 seconds)
01:09:15  * jgiquit (Quit: jgi)
01:09:34  * sh1mmerjoined
01:11:04  * rosskquit (Read error: No route to host)
01:11:18  * rosskjoined
01:13:16  * abraxasjoined
01:14:23  * dap_quit (Quit: Leaving.)
01:17:36  * abraxasquit (Ping timeout: 244 seconds)
01:19:22  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:28:48  * iarnajoined
01:29:41  * sh1mmerjoined
01:32:00  * sh1mmerquit (Client Quit)
01:32:55  * sh1mmerjoined
01:33:50  * iarnaquit (Remote host closed the connection)
01:38:10  * a_lequit (Remote host closed the connection)
01:38:16  * kazuponjoined
01:39:19  * ryancolequit
01:41:45  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:42:50  * sh1mmerjoined
01:44:26  * sh1mmerquit (Client Quit)
01:44:36  * rosskquit
01:46:20  * sh1mmerjoined
01:46:54  * ryancolejoined
01:46:55  * ryancolequit (Changing host)
01:46:55  * ryancolejoined
01:48:13  * Ralithquit (Ping timeout: 260 seconds)
01:48:52  * avalanche123quit (Remote host closed the connection)
01:49:18  * avalanche123joined
01:50:36  * sh1mmerquit (Client Quit)
01:52:02  * inolen1joined
01:52:28  * sh1mmerjoined
01:53:46  * avalanche123quit (Ping timeout: 244 seconds)
01:54:21  * inolenquit (Ping timeout: 246 seconds)
01:55:14  * abraxasjoined
01:57:56  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:04:05  * sh1mmerjoined
02:07:47  * a_lejoined
02:09:55  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:10:48  * c4milojoined
02:15:45  * c4miloquit (Ping timeout: 260 seconds)
02:31:48  * Ralithjoined
02:34:40  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:34:49  * inolenjoined
02:37:36  * inolen1quit (Ping timeout: 260 seconds)
02:38:40  * sh1mmerjoined
02:46:24  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:46:37  * Left_Turnquit (Remote host closed the connection)
02:47:33  * sh1mmerjoined
02:50:12  * toothrotquit (Ping timeout: 260 seconds)
02:53:43  * ryancolequit (Quit: Lingo - http://www.lingoirc.com)
02:56:57  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:57:29  * sh1mmerjoined
03:07:03  * inolenquit (Ping timeout: 272 seconds)
03:13:09  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
03:17:07  * sh1mmerjoined
03:30:19  * rmgquit (Remote host closed the connection)
03:38:37  * brsonquit (Ping timeout: 258 seconds)
03:39:04  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
03:41:09  * sh1mmerjoined
03:41:27  * sh1mmerquit (Client Quit)
03:43:03  * sh1mmerjoined
03:47:21  * cjihrigquit (Quit: Leaving.)
03:47:39  * kazuponquit (Remote host closed the connection)
03:48:18  * kazuponjoined
03:51:32  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
03:52:22  * kazuponquit (Ping timeout: 245 seconds)
03:59:04  * c4milojoined
04:02:38  * abraxasquit (Remote host closed the connection)
04:02:59  * abraxasjoined
04:04:05  * c4miloquit (Ping timeout: 272 seconds)
04:12:55  * wolfeidauquit (Remote host closed the connection)
04:14:55  * inolenjoined
04:18:46  * kazuponjoined
04:19:49  * avalanche123joined
04:23:16  * kazuponquit (Ping timeout: 250 seconds)
04:26:03  * kazuponjoined
04:26:03  * kazuponquit (Remote host closed the connection)
04:35:54  * avalanche123quit (Remote host closed the connection)
04:36:29  * avalanche123joined
04:37:55  * kazuponjoined
04:40:42  * avalanche123quit (Ping timeout: 245 seconds)
04:50:54  * avalanche123joined
04:51:52  * c4milojoined
05:35:16  * wolfeidaujoined
05:37:20  * avalanche123quit (Remote host closed the connection)
05:37:47  * avalanche123joined
05:42:24  * avalanche123quit (Ping timeout: 260 seconds)
05:42:50  * sh1mmerjoined
05:42:53  * sh1mmerquit (Client Quit)
05:54:19  * wolfeidauquit (Remote host closed the connection)
05:57:47  * wolfeidaujoined
05:58:43  * wolfeidauquit (Remote host closed the connection)
05:59:37  * thlorenzquit (Remote host closed the connection)
06:00:10  * thlorenzjoined
06:00:33  * wolfeidaujoined
06:04:09  * a_lequit (Remote host closed the connection)
06:04:36  * thlorenzquit (Ping timeout: 246 seconds)
06:09:36  * wolfeidauquit (Remote host closed the connection)
06:17:59  * inolenquit (Quit: Leaving.)
06:26:17  * kazuponquit (Remote host closed the connection)
06:26:44  * kazuponjoined
06:33:05  * c4miloquit (Remote host closed the connection)
06:33:49  * c4milojoined
06:35:05  * bajtosjoined
06:37:10  * janjongboomjoined
06:38:12  * c4miloquit (Ping timeout: 245 seconds)
06:56:20  * inolenjoined
06:58:27  * rendarjoined
06:59:14  * a3fjoined
07:07:59  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:08:00  * abraxasquit (Remote host closed the connection)
07:10:02  * avalanche123joined
07:14:36  <MI6>joyent/libuv: Saúl Ibarra Corretgé v1.x * 9486e46 : doc: document missing stream related structures - http://git.io/hB15Yw
07:14:47  * inolenquit (Quit: Leaving.)
07:15:01  * inolenjoined
07:19:20  <MI6>joyent/libuv: Saúl Ibarra Corretgé v1.x * 00df3ec : doc: clarify uv_loop_t.data field lifetime - http://git.io/AsUY2w
07:28:49  * avalanche123quit (Remote host closed the connection)
07:29:15  * avalanche123joined
07:33:56  * avalanche123quit (Ping timeout: 260 seconds)
07:44:13  * c4milojoined
07:48:40  * c4miloquit (Ping timeout: 250 seconds)
07:51:06  * janjongboomjoined
07:52:55  * bajtosquit (Quit: bajtos)
07:54:30  * abraxasjoined
07:56:07  * bajtosjoined
08:02:31  * daviddiasquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:03:52  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:22:29  * janjongboomjoined
09:01:07  * seishunjoined
09:22:37  * bajtosquit (Quit: bajtos)
09:32:33  * c4milojoined
09:36:53  * c4miloquit (Ping timeout: 240 seconds)
09:40:02  * AvianFluquit (Ping timeout: 250 seconds)
09:42:19  <kkaefer>is there a way to define custom uv_req_* subtypes?
09:48:46  * inolenquit (Quit: Leaving.)
09:49:42  * inolenjoined
09:49:44  * inolenquit (Client Quit)
09:54:13  * inolenjoined
09:54:15  * inolenquit (Client Quit)
09:58:39  * inolenjoined
09:58:39  * chris_99joined
10:01:06  * avalanche123joined
10:01:24  * inolenquit (Client Quit)
10:06:02  * avalanche123quit (Ping timeout: 250 seconds)
10:21:30  * saghulquit (Ping timeout: 258 seconds)
10:22:47  * chris_99quit (Ping timeout: 272 seconds)
10:23:57  * daviddiasjoined
10:28:33  * chris_99joined
10:34:54  * inolenjoined
10:34:54  * inolenquit (Client Quit)
10:36:51  * bajtosjoined
10:36:54  * inolenjoined
10:36:55  * inolenquit (Client Quit)
10:49:47  * seishunquit (Ping timeout: 245 seconds)
10:51:12  * jas-_quit (Remote host closed the connection)
10:52:33  * chris_99quit (Ping timeout: 272 seconds)
10:53:54  * Left_Turnjoined
10:59:02  * abraxasquit (Remote host closed the connection)
10:59:48  * bajtosquit (Quit: bajtos)
11:01:19  * bajtosjoined
11:07:22  * wolfeidaujoined
11:20:49  * c4milojoined
11:25:12  * c4miloquit (Ping timeout: 246 seconds)
11:40:25  * a3fquit (Ping timeout: 260 seconds)
11:58:29  * piscisaureusjoined
12:00:04  * chris_99joined
12:09:21  * toothrotjoined
12:29:01  * jas-joined
12:31:40  * saghuljoined
12:37:17  * bajtosquit (Ping timeout: 245 seconds)
12:40:15  * toothrotquit (Ping timeout: 272 seconds)
12:41:15  * lance|afkchanged nick to lanceball
12:42:21  * kazuponquit (Remote host closed the connection)
12:42:48  * kazuponjoined
12:47:27  * kazuponquit (Ping timeout: 246 seconds)
12:48:25  * cjihrigjoined
13:03:32  * Left_Turnchanged nick to pgicxplzs
13:03:33  * avalanche123joined
13:08:06  * avalanche123quit (Ping timeout: 246 seconds)
13:09:05  * c4milojoined
13:13:32  * c4miloquit (Ping timeout: 245 seconds)
13:16:05  * cjihrigquit (Quit: Leaving.)
13:29:58  * karupachanged nick to zz_karupa
13:47:40  * cjihrigjoined
13:48:51  * cjihrigquit (Client Quit)
13:51:43  * roxlujoined
13:55:53  * AvianFlujoined
14:03:00  * zcourtsjoined
14:06:57  * c4milojoined
14:08:10  <indutny>trevnorris: hey man
14:08:55  <indutny>trevnorris: you around?
14:13:26  <zcourts>noob question, how do I pass a C++ member function to uv_timer_start as the callback?
14:14:46  * cjihrigjoined
14:17:49  * KennethWilkejoined
14:24:27  * ryancolejoined
14:27:36  <kkaefer>zcourts: the way you have to do this is to make your member function static, then pass `this` as the data
14:28:01  <kkaefer>in the static callback function, you cast to pointer of class and do whatever you want
14:28:10  <kkaefer>you can also use lambdas like this:
14:28:14  <kkaefer>timer->data = this;
14:28:48  <kkaefer>uv_timer_start(..., [](uv_timer_t *timer) { static_cast<Class *>(timer->data)->member_fun(); });
14:29:19  <creationix>saghul, it seems uv_process_kill and uv_kill are missing from the docs
14:29:24  <kkaefer>but you cannot pass a bound member function directly
14:33:25  * kazuponjoined
14:34:24  <zcourts>kkaefer: I see, I’d ruled out lambas because I was attempting to capture a std::function but since only non-capture lambdas can be converted to function pointers, I didn’t see how it’d work. I’ll try your suggestion with the static_case. Thanks
14:35:16  <kkaefer>the important part is that you're storing the pointer to this in the data field
14:35:56  <zcourts>right, yep, got it.
14:36:29  <kkaefer>you also have to make sure that the object still exists when the timer fires, obviously
14:40:09  <zcourts>yeah :)
14:41:31  * chris_99quit (Remote host closed the connection)
14:45:10  * thlorenzjoined
14:46:31  * chris_99joined
14:48:53  <zcourts>kkaefer: thank you, got that working with your suggestion!
14:49:07  <kkaefer>great
14:52:22  * FROGGS[mobile]joined
14:58:36  * chris_99quit (Remote host closed the connection)
14:59:26  * avalanche123joined
15:07:08  * c4miloquit (Remote host closed the connection)
15:07:41  * c4milojoined
15:07:52  * c4miloquit (Remote host closed the connection)
15:08:04  * c4milojoined
15:13:41  * seishunjoined
15:15:14  * chris_99joined
15:19:53  * inolenjoined
15:41:05  * c4milo_joined
15:44:10  * c4miloquit (Ping timeout: 272 seconds)
15:44:11  * kazuponquit (Remote host closed the connection)
15:44:39  * kazuponjoined
15:47:40  * brsonjoined
15:49:33  * kazuponquit (Ping timeout: 260 seconds)
15:57:00  * avalanche123quit (Remote host closed the connection)
15:57:29  <saghul>creationix: oh, thanks for the heads up, will fix!
15:57:47  <creationix>I was worried they were removed till I saw they were still in the header file
15:58:12  * piscisaureusquit (Ping timeout: 246 seconds)
16:00:17  * mmaleckiquit (Ping timeout: 260 seconds)
16:00:59  * mmaleckijoined
16:05:07  * jgijoined
16:07:53  * rmgjoined
16:11:56  * inolenquit (Ping timeout: 260 seconds)
16:12:00  * jgiquit (Quit: jgi)
16:12:32  * inolenjoined
16:13:55  * kazuponjoined
16:14:31  * kenperkinsquit (Remote host closed the connection)
16:15:37  * inolenquit (Client Quit)
16:18:15  * jgijoined
16:18:55  * dap_joined
16:31:25  * chris_99quit (Ping timeout: 272 seconds)
16:41:54  * chris_99joined
16:42:01  * kazuponquit (Remote host closed the connection)
16:42:29  * kazuponjoined
16:46:55  * chris_99quit (Remote host closed the connection)
16:46:58  * inolenjoined
16:47:08  * kazuponquit (Ping timeout: 258 seconds)
16:50:15  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:58:52  * a_lejoined
17:01:17  * chris_99joined
17:01:39  * abraxasjoined
17:04:58  * FROGGS[mobile]quit (Remote host closed the connection)
17:07:08  * abraxasquit (Ping timeout: 272 seconds)
17:09:07  * sh1mmerjoined
17:10:07  * janjongboomjoined
17:10:19  * sh1mmerquit (Client Quit)
17:10:49  * euoia_joined
17:12:38  * sh1mmerjoined
17:12:42  * Ralithquit (Ping timeout: 245 seconds)
17:17:39  * thlorenzquit (Remote host closed the connection)
17:21:45  * prettyrobotschanged nick to blogometer
17:21:51  * blogometerchanged nick to prettyrobots
17:23:01  * rossk_joined
17:25:45  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:26:49  <creationix>saghul, uv_fs_poll_init is also missing from the docs
17:27:18  * euoia_quit (Ping timeout: 260 seconds)
17:30:33  * thlorenzjoined
17:31:03  * daviddiasquit (Quit: Textual IRC Client: www.textualapp.com)
17:31:19  * thlorenzquit (Remote host closed the connection)
17:31:40  * thlorenzjoined
17:33:34  * avalanche123joined
17:35:08  * avalanche123quit (Remote host closed the connection)
17:35:26  * avalanche123joined
17:40:27  * prettyrobotschanged nick to blogometer
17:40:31  * blogometerchanged nick to prettyrobots
17:40:39  * prettyrobotschanged nick to demarius
17:40:46  * demariuschanged nick to prettyrobots
17:41:43  * qard-appnetaquit (Read error: Connection reset by peer)
17:43:21  <creationix>saghul, also uv_timespec_t
17:43:29  <creationix>(used in uv_stat_t)
17:45:40  * cjihrigquit (Quit: Leaving.)
17:46:55  * prettyrobotschanged nick to jgpelletier
17:47:49  * sh1mmerjoined
17:48:10  * jgpelletierchanged nick to prettyrobots
17:50:24  * kenperkinsjoined
17:50:30  * prettyrobotschanged nick to pelletier
17:50:44  * pelletierchanged nick to prettyrobots
18:00:20  * KennethWilkequit (Remote host closed the connection)
18:01:40  * Ralithjoined
18:06:32  * saghulquit (Remote host closed the connection)
18:11:24  * cjihrigjoined
18:16:03  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:21:15  * zcourtsquit (Quit: zcourts)
18:22:44  * thlorenzquit (Remote host closed the connection)
18:23:18  * thlorenzjoined
18:23:49  * thlorenzquit (Read error: Connection reset by peer)
18:24:19  * thlorenzjoined
18:27:03  * zcourtsjoined
18:29:17  <indutny>trevnorris: around? :)
18:36:53  * cjihrigquit (Quit: Leaving.)
18:48:18  * avalanche123quit (Remote host closed the connection)
18:50:15  <chrisdickinson>quick question: what's the oldest version of windows we support? vista?
18:50:45  * mikealjoined
18:51:59  * mikeal1joined
18:52:03  * mikeal1part
18:54:31  <chrisdickinson>or, more to the point of the question, does anyone know when windows switched to using 'Loopback Pseudo-Interface 1' instead of 'MS TCP Loopback interface'? cc AlexisMocha
18:56:54  * avalanche123joined
19:00:43  * c4milo_quit (Remote host closed the connection)
19:00:54  * rendarquit (Ping timeout: 244 seconds)
19:04:23  * c4milojoined
19:07:15  * rendarjoined
19:08:09  * chris_99quit (Remote host closed the connection)
19:14:33  * chris_99joined
19:22:10  * no9joined
19:22:55  * isaacsjoined
19:24:58  <creationix>Does anyone know what the flags for uv_scandir are? It's not documented in uv.h, docs.libuv.org or in the man page for scandir(3)
19:26:26  <creationix>in src/unix/fs.c I see it's just set to req->flags
19:26:45  * dsantiagoquit (Quit: Computer has gone to sleep.)
19:27:11  * daviddiasjoined
19:30:46  * mikealquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:31:08  * avalanche123quit (Remote host closed the connection)
19:33:32  * daviddiasquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:33:45  * mikealjoined
19:33:57  * c4miloquit (Remote host closed the connection)
19:34:33  * c4milojoined
19:34:43  * avalanche123joined
19:39:09  * c4miloquit (Ping timeout: 260 seconds)
19:40:11  * c4milojoined
19:42:32  * KennethWilkejoined
19:51:18  * mikealquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:53:49  * roxluquit (Ping timeout: 258 seconds)
20:01:24  * roxlujoined
20:01:48  * jas-quit (Remote host closed the connection)
20:06:34  * zcourtsquit (Read error: Connection reset by peer)
20:07:39  * zcourtsjoined
20:08:50  <kkaefer>I want to build a threadpool (similar to uv_queue_work, but not using the default threadpool). should I add the work items in the threadpool to the loop's active_reqs?
20:08:55  <kkaefer>or is that considered internal?
20:12:56  * thlorenzquit (Remote host closed the connection)
20:15:34  * mreviljoined
20:16:32  * a3fjoined
20:19:46  <mrevil>timers execute in their own loop?
20:30:38  * mikealjoined
20:35:05  <trevnorris>indutny: sup, you still here?
20:36:14  <trevnorris>mrevil: they are executed in their own "phase" of the event loop.
20:36:57  <trevnorris>kkaefer: do you mean using multiple loops, or still just a single loop?
20:38:08  * mikealquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:39:13  * dsantiagojoined
20:39:26  <trevnorris>tjfontaine: you have any issue with https://github.com/joyent/node/pull/7719 ?
20:40:22  <kkaefer>trevnorris: it's still a single loop, which has an async handle attached that I unref
20:40:54  <kkaefer>then, I'm using adding tasks to a mutexed queue
20:41:10  <kkaefer>I also have a few threads that load tasks from the mutexed queue and perform them
20:41:23  <trevnorris>I assume these "tasks" contain another handle that would keep the event loop open?
20:41:35  <kkaefer>no, just the one async handle
20:41:49  <kkaefer>(it's pretty much the same model the internal threadpool uses as well)
20:43:09  <trevnorris>well, if you're using your own queue then you don't want to use void* active_reqs[2]
20:43:51  <trevnorris>it might work well enough to simply re-ref the uv_async_t while there is work in the queue, and unref it again when the work is complete.
20:44:28  <trevnorris>iirc the operation is fairly cheap, and would be the easiest way to keep the event loop open while work is being done.
20:44:43  <kkaefer>trevnorris: yeah, but then I'd have to keep track of how many work items are still in the queue?
20:44:57  <kkaefer>hm, I guess I could just do that
20:45:30  <trevnorris>well, sure. even uv_loop_t has an "unsigned int active_handles" field.
20:48:25  <trevnorris>uv_ref() just resolves to a macro in src/uv-common.h that calls uv__active_handle_add(), which is another macro that just increments loop->active_handles
20:48:54  <trevnorris>i.e. the event loop exits when active_handles == 0
20:49:23  * roxluquit (Ping timeout: 240 seconds)
20:52:45  * jgiquit (Quit: jgi)
20:54:57  * janjongboomjoined
20:59:36  * jgijoined
21:00:33  * rmgquit (Remote host closed the connection)
21:02:06  * mrevilquit (Remote host closed the connection)
21:10:21  * cjihrigjoined
21:10:37  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:15:34  * lanceballchanged nick to lance|afk
21:23:23  * cjihrigquit (Ping timeout: 272 seconds)
21:32:48  * a3fquit (Read error: Connection reset by peer)
21:39:08  * roxlujoined
21:40:27  * sandr8_quit (Remote host closed the connection)
21:40:40  * ryancolequit
21:45:40  * cjihrigjoined
21:50:08  * prettyrobotsquit (Quit: ZNC - http://znc.in)
22:03:12  <KennethWilke>woot! made a reverse proxy prototype with libevent that was handling about 3.5k requests per second on a crappy Xen VM, took a while to change to libuv but it's now running about 5.4k on the same hardware
22:03:33  <KennethWilke>that is a performance difference i am happy to have
22:03:55  <rendar>cool! which OS?
22:04:02  <KennethWilke>Linux, ubuntu
22:04:20  <KennethWilke>was testing on freebsd before as well, but havn't bothered to get libuv on my freebsd test box yet
22:06:05  <KennethWilke>it should scream locally, that VM is really suck
22:06:50  <KennethWilke>the main reason i explored alternatives is because libevent did well for me most of the time was seeing 99.92% of requests under 42ms, but some were up to 250ms
22:07:37  <rendar>very cool
22:07:37  <KennethWilke>vs what i see now, which is all 62ms or under, most under 32
22:07:45  <rendar>reverse proxy, like HaProxy?
22:07:49  <KennethWilke>yeah kinda
22:07:59  <KennethWilke>sept almost entirely devoid of features lol
22:08:15  <rendar>eheh
22:08:28  <KennethWilke>i really want something i feel is maintainable from a coding perspective
22:08:43  <KennethWilke>and atm i just need it for redis
22:08:54  <rendar>why for redis?
22:09:44  <KennethWilke>i want to expose redis to web nodes for session caching, and restrict the webnodes to GETs and SETs while allowing full access for other services
22:09:58  <KennethWilke>so the webnodes will be going through the proxy
22:10:03  * rosskjoined
22:10:44  <rendar>hmm i see
22:10:50  <rendar>what you mean with webnodes?
22:12:09  <KennethWilke>clustered PHP websites, using redis for a session store
22:12:16  <rendar>ok
22:12:17  * rossk_quit (Ping timeout: 260 seconds)
22:13:53  * sandr8joined
22:15:12  * rmgjoined
22:15:16  * rosskquit (Ping timeout: 258 seconds)
22:18:45  * seishunquit (Ping timeout: 260 seconds)
22:23:47  * daviddiasjoined
22:26:17  * janjongboomjoined
22:27:27  * rendarquit
22:28:08  <creationix>can libuv multiplex between multiple uv_loop_t loops in a single thread?
22:28:50  <trevnorris>creationix: iirc you can only run a single event loop per thread, right?
22:29:04  <creationix>well normally uv_run blocks the thread, so yes
22:29:05  <trevnorris>well, unless you're using something like green threads I guess.
22:29:07  <creationix>but there is UV_RUN_NOWAIT
22:29:12  <trevnorris>ah ok
22:29:58  <creationix>I'm just worried that a tight loop calling using UV_RUN_NOWAIT on multiple uv_loop's wil busy-wait the CPI
22:30:12  <creationix>but if I block on any one of them, it will starve the other loops
22:31:28  <creationix>I'm wondering what the purpose of UV_RUN_NOWAIT is
22:31:46  <trevnorris>well, libuv can't send handles between event loops. so I'd say no to multiplexing.
22:32:11  <creationix>I'm fine with the loops not sharing handles, in fact that's the goal
22:32:16  <creationix>I want to segregate things
22:33:20  <creationix>(or actually, I'm trying to think of any valid reason to have multiple uv_loop_t instances in a single thread
22:34:28  <trevnorris>rust use(d) multiple libuv loops and green threads to do synchronous I/O.
22:34:33  * rosskjoined
22:34:56  <trevnorris>but they moved away, or are going to move away, from that.
22:35:15  <creationix>yeah, I can do blocking I/O with coroutines much the same way, but I don't need multiple loops for that
22:35:21  <trevnorris>and I can't think of a good reason to have multiple loops on the same thread.
22:35:50  <creationix>I want to allow lua authors to have workers on real threads, just trying to find the best API to expose
22:36:15  <creationix>hmm, libuv has uv_queue_work. I could create a new loop for just that thread.
22:36:40  <creationix>but you don't want long-running tasks in the thread pool right? If all 4 get used, it will block fs operations?
22:37:05  <creationix>probably want uv_thread_create instead
22:37:22  <trevnorris>hm. you could give me feedback on libnub :)
22:37:22  <trevnorris>it's an api to allow working w/ handles for a single loop on multiple threads.
22:37:42  <trevnorris>well, it'll only block fs operations on OSX.
22:39:15  <creationix>so with libnub I could create a uv_loop in a new thread and do libuv stuff there, but still couldn't interact with handles from the main thread's loop?
22:40:07  <trevnorris>libnub is meant to allow you to create a single event loop on one thread, then be able to spawn new threads and work w/ handles on the event loop as if it were running on the main thread.
22:40:50  <creationix>I didn't know that was possible/safe
22:40:54  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:41:26  <trevnorris>heh, I'm still testing it out. all my preliminary tests have shown it's possible.
22:41:47  <trevnorris>there's one part of the API I don't love, which is why I haven't done more w/ it.
22:42:09  <creationix>I'll look at it when I get to implementing workers
22:42:15  <trevnorris>need feedback on how to do one specific thing, then I'll finish the implementation.
22:42:26  * cjihrigquit (Quit: Leaving.)
22:42:32  <trevnorris>coolio.
22:43:11  <trevnorris>the basic concept relies on an "event loop mutex", and you write event loop specific code within the "loop critical section"
22:43:46  <trevnorris>e.g. creating a tcp server, writing on a pipe, etc.
22:43:47  * toothrotjoined
22:44:08  <creationix>It will be interesting to see how that performs
22:44:42  <trevnorris>if used "properly" (meaning all processing code is moved off the main thread) it performs well.
22:44:44  * rosskquit (Remote host closed the connection)
22:45:11  <creationix>I'm just worried about the cost of the mutex
22:45:18  <creationix>but I think it could be done well
22:45:20  <trevnorris>heh, it's actually not a mutex. :P
22:46:16  <trevnorris>my tests show I can do over 150k back and forth's per second. but that was just some rough prototype code.
22:46:43  * sh1mmerjoined
22:56:29  * AvianFluquit (Ping timeout: 272 seconds)
22:56:47  <trevnorris>tjfontaine: ping
22:59:39  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:00:26  * KennethWilkequit (Remote host closed the connection)
23:02:06  * sh1mmerjoined
23:12:34  * thlorenzjoined
23:22:59  * daviddiasquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:23:00  * cjihrigjoined
23:25:24  * c4miloquit (Remote host closed the connection)
23:33:38  * sandr8quit (Remote host closed the connection)
23:33:43  * dsantiagoquit (Quit: Computer has gone to sleep.)
23:34:19  * thlorenzquit (Remote host closed the connection)
23:36:35  * rosskjoined
23:37:13  * c4milojoined
23:37:31  * avalanche123quit (Remote host closed the connection)
23:40:19  * avalanche123joined
23:40:25  * avalanche123quit (Remote host closed the connection)
23:40:33  * avalanche123joined
23:44:02  * chris_99quit (Quit: Leaving)
23:45:48  * toothrotquit (Ping timeout: 246 seconds)
23:54:15  <trevnorris>chrisdickinson: ping
23:54:24  <chrisdickinson>hey, what's up?
23:54:31  <trevnorris>want to merge something?
23:54:51  <chrisdickinson>sure!
23:56:03  <trevnorris>coolio. it's a really simple one: https://github.com/joyent/node/pull/8435
23:56:16  <trevnorris>first I usually do `curl 'https://github.com/joyent/node/pull/8435.patch' | less`
23:56:40  <trevnorris>just to check out the patch. Also to make sure the committers full name and email are used.
23:56:58  <trevnorris>since github allows people to edit files from the browser their information is all messed up.
23:57:40  <chrisdickinson>cool, looking
23:58:03  <chrisdickinson>looks good
23:59:03  <trevnorris>now, we don't merge anything. instead we basically do `curl 'https://github.com/joyent/node/pull/8435.patch' | git am`
23:59:16  <trevnorris>this should be on the v0.12 branch