00:07:43  * Fishrock123quit (Remote host closed the connection)
00:16:27  * PerilousApricotjoined
00:19:28  * sahelquit (Ping timeout: 244 seconds)
00:23:57  * PerilousApricotquit (Remote host closed the connection)
00:30:48  * happy-dudejoined
00:46:22  * Damn3dquit (Ping timeout: 248 seconds)
00:49:23  * Damn3djoined
00:54:25  * Ruyijoined
01:01:39  * PerilousApricotjoined
01:16:57  * PerilousApricotquit (Remote host closed the connection)
01:31:42  * brsonquit (Quit: leaving)
01:40:40  * Fishrock123joined
02:33:38  * Fishrock123quit (Remote host closed the connection)
02:39:29  * alexforsterquit (Quit: Textual IRC Client: www.textualapp.com)
02:55:58  * frandagostinoquit (Ping timeout: 248 seconds)
03:04:48  * tunniclm_quit (Ping timeout: 244 seconds)
03:12:16  * Fishrock123joined
03:55:52  * rmg_quit (Remote host closed the connection)
03:56:29  * rmgjoined
04:01:02  * rmgquit (Ping timeout: 248 seconds)
04:06:35  * systemfaultquit (Quit: Bye!)
04:06:51  * Fishrock123quit (Quit: Leaving...)
04:56:53  * rmgjoined
05:01:44  * rmgquit (Ping timeout: 260 seconds)
05:57:01  * seishunjoined
06:57:39  * rmgjoined
07:02:28  * rmgquit (Ping timeout: 244 seconds)
07:10:03  * seishunquit (Ping timeout: 240 seconds)
07:11:11  * rendarjoined
07:30:05  * happy-dudequit (Quit: Connection closed for inactivity)
07:50:53  * saheljoined
08:13:19  * tunniclm_joined
08:32:36  * kenansulaymanjoined
08:32:59  * kenansulaymanchanged nick to Guest53161
08:33:57  * Guest53161quit (Changing host)
08:33:57  * Guest53161joined
08:39:48  * Guest53161part ("poobrain")
08:59:26  * Left_Turnjoined
10:10:24  * Ruyiquit (Read error: Connection reset by peer)
10:52:49  * happy-dudejoined
11:15:37  * Pinnedjoined
11:16:58  <Pinned>hey guys, is it normal behaviour for uv_connect_cb to be called twice after calling uv_tcp_connect once on Windows?
11:18:29  <rendar>i don't think so...
11:19:56  <Pinned>that was my initial thought, I wonder what could be wrong
11:20:54  <txdv>its not
11:20:56  <txdv>testcase please
11:21:57  <Pinned>I must be doing something wrong then, doubt it is a libuv issue
11:32:24  <rendar>Pinned: no-paste all the code
11:42:24  <Pinned>I
11:42:52  <Pinned>I'm working on C# bindings, so not really pasteable, nor would I expect anyone here to read through thousands of lines of C#
11:45:42  <Pinned>Turns out I just forgot a line of debug code which was causing the callback to fire twice
12:10:01  <txdv>0why not pastable?
12:10:22  <txdv>Pinned: github.com/txdv/LibuvSharp
12:11:06  <Pinned>Too much to paste, too rough, too much of a hacked together mess right now
12:11:41  <Pinned>I'm aware of LibuvSharp, but I'm building lighter weight, better optimized, high performance bindings
12:12:32  <txdv>You calling me fat?
12:12:48  <txdv>Pinned: have you got the code up?
12:12:55  <txdv>Otherwise there is really no way to help you
12:13:34  <Pinned>I am using the Kestrel ASP.Net 5 server as a reference mostly, but I have looked at LibuvSharp a bit too
12:14:24  <Pinned>I am implementing just a client right now, which is a good exercise to learn libuv
12:14:48  <txdv>kestrel is different in the sence that it does literally only dispatching of the requests to libuv
12:15:02  <Pinned>txdv: As I mentioned above, that issue was totally my fault, due to a forgotten line of debug code
12:15:04  <txdv>also they have that memory buffer provider, i'm planning to add that too
12:15:46  <Pinned>Yeah, Kestrel appears to have made good progress with optimizing performance and GC
12:16:15  <Pinned>They have gone as far as replacing long.ToString() with a custom implementation to generate a connection ID for optimization
12:16:33  <Pinned>So I figure it's a good starting point, even though they don't implement any client stuff, which is what I need right now
12:16:59  <txdv>there is nothing but the server stuff
12:17:01  <Pinned>The memory buffer and other pooling is also useful, since I would need to do that myself anyway
12:19:45  <txdv>It is easy to add, there is a bytebufferallocator interface which can be used easily to add this functionality
12:20:17  <txdv>Pinned: if you have some code, pm me, I would like to inspect your ligther weight, better optimized, high performance bindings
12:20:42  * PerilousApricotjoined
12:20:54  <Pinned>Building on top of LibuvSharp may be a better option to be honest, but I'll need to go through a lot more of the source and get a better idea of how much would need to change
12:21:55  <Pinned>No existing bindings are exactly what I need, and I was hoping to hack something together on top of an existing implementation for now, and slowly refactor it in the future
12:22:17  <txdv>i dont understand what you need
12:22:45  <Pinned>I need high performance bindings with minimal overhead caused by native calls, almost no garbage creation, and optimized for the ancient Mono runtime used by Unity
12:22:59  <txdv>LOL
12:23:02  <txdv>so .NET 3.5?
12:23:25  <Pinned>3.5 framework yeah
12:23:51  <txdv>You know, I literally thought yesterday about that 3.5 solution file
12:23:57  <txdv>(which is not up to date in LibuvSharp)
12:24:04  <txdv>And thought, who the fuck needs this shit anyway
12:24:17  <Pinned>Haha
12:24:26  <Pinned>Well apparently Unity developers do :P
12:26:00  <txdv>Pinned: When I get home I will get that solution up to speed
12:26:25  <txdv>I already use partial classes for a lot of functionality of the newer frame works
12:27:10  <Pinned>I love async reactors, they are my bread and butter for a wide range of types of applications. The thing here is, I've avoided going an option like Libuv since I don't need a massive number of concurrent clients, but now I am stuck due to a .Net bug in the ancient Mono which ships with Unity
12:27:37  <txdv>Pinned: all the async stuff are extensions
12:27:44  <txdv>except one place AFAIK
12:27:54  <Pinned>.Net is horrendous when it comes to async, everything _must_ be threaded
12:27:55  <txdv>which would be have to ifdefed out or put in another file as a partial clasds
12:28:15  <Pinned>The blocking socket API has to be used in worker threads, and has it's own set of problems
12:28:55  <txdv>yeah, embedding libuv in game engines is nice
12:28:59  <txdv>no need more synchronization anymore
12:29:02  <Pinned>The async socket API is insanely thread-heavy, which I could live with, if it didn't have an edge case issue which causes socket writes to silently fail under linux due to the ancient mono build
12:29:14  <txdv>just run uv_run(nowait) every frame
12:29:19  <Pinned>So my existing implementation of this client randomly blows up, often multiple times per day
12:29:43  <txdv>are you using it in production?
12:29:51  <Pinned>And the only way I can fix it, is to reimplement everything with a native IO library like Libuv
12:29:56  <Pinned>Yes
12:30:18  <Pinned>I have to watch it very closely andtry to workaround the issue every single day
12:30:28  <txdv>what are you using it for?
12:30:33  <Pinned>Luckily, right now only 1 out of 30 boxes are linux
12:30:40  <Pinned>So all the windows boxes work without an issue
12:30:44  <Pinned>But that will soon change
12:31:40  <txdv>wow, that is a lot, what are you using there exactly?
12:31:42  <Pinned>It is a TCP client connection to a master server which uses a custom binary protocol to synchonize stats and user data between a large number of game servers and a database
12:31:49  <txdv>what are you creating there exactly?
12:31:57  <txdv>a ok
12:32:22  <txdv>i can give you some advice
12:32:33  <Pinned>In the future this master protocol will be used for a lot more, but I've had to put everything on hold until I can reimplement the client from scratch without .Net sockets
12:32:35  <txdv>or lets say, a headsup
12:32:50  <txdv>if you use the callback api, yoru code will look horendous
12:33:18  <Pinned>I have no problem with callbacks, as I said reactor based applications are my bread and butter
12:33:29  <Pinned>I can abstract things enough for them to be cleanly implemented
12:34:07  <Pinned>I build reactor based applications in many languages, they are literally the only kind of applications I have worked with for over 10 years
12:34:43  <txdv>interesting
12:35:17  <txdv>i havent tried out unity, if you describe your setup i will try to get libuvsharp running on it
12:35:19  <Pinned>Also keep in mind for 3.5 support
12:35:29  <Pinned>C# 6 syntax is not an issue for me specifically
12:35:57  <txdv>I haven't gotten around to use C# 6.0 in libuvsharp
12:35:58  <Pinned>Only framework requirements need to be 3.5, since I build with the latest mono compiler against the 3.5 corlib and assemblies
12:36:15  <txdv>that is nice
12:36:50  <txdv>do you create many connections in your code?
12:36:51  <Pinned>There are a few very useful syntax additions that were added to C# 6
12:37:50  <Pinned>Most of the time it'll be a low number of connections, the master server is a single connection, but I plan on using the Libuv-powered client for other things like web requests too
12:37:51  <txdv>well the ?. is useful
12:38:31  <txdv>Pinned: As I said, I will come home, try to get the 3.5 solution running (which I will succeed in) and then you can immediately test it fits your needs
12:38:55  * PerilousApricotquit (Remote host closed the connection)
12:39:00  <Pinned>Thanks, appreciate it
12:39:50  <txdv>I have to agree that I have many interfaces and what not that might be considered as not really necessary and adding overhead, but I think it is minimal and should be first tested in a real world application if it really doesn't fit your need
12:40:54  <txdv>also im willing to help you to write your own bindings, but you will have to show me the code somehow for me to be able to help
12:41:27  <txdv>do you have a github account?
12:41:54  <txdv>do you sit here often in IRC, if I message you, will you react?
12:42:32  <Pinned>I'll stick around here and keep an eye out for messages
12:43:19  <Pinned>While I would very much like to build my own light weight bindings, if LibuvSharp can work for now, that will save me some much needed time
12:43:59  <Pinned>I'm not sure when I will have time to work on complete bindings from scratch, since I have a huge amount of important stuff to get to, but at the same time this does need to be solved
12:45:21  <Pinned>The null-conditional operator and string interpolation are both very useful in C# 6, but using the stock Unity compiler, even optional method parameters (C# 3) are not supported
12:46:02  <txdv>I overload all my methods in libuvsharp
12:46:04  <txdv>no optional parameters
12:46:45  <txdv>can you tell me what unity tool you use for development?
12:46:51  <Pinned>That's good for performance anyway, since optional parameters are always pushed onto the stack
12:47:44  <Pinned>I use a rather custom development environment, testing with Unity would not be too simple for you
12:48:15  <Pinned>If you can get the library working against a 3.5 solution in VS, that should be good enough
12:48:26  <Pinned>I can do further testing for you
12:49:33  <txdv>O yeah, I forgot, mono dropped 3.5 completely
12:50:08  <txdv>im a linux guy, so ill have to boot windows today
12:51:15  * frandagostinojoined
12:53:17  <Pinned>I was purely a linux guy before I started using Unity - I still very much prefer building software for linux than having to deal with the WinAPI
12:57:28  <txdv>what company are you working for?
12:59:40  * rmgjoined
12:59:57  * happy-dudequit (Quit: Connection closed for inactivity)
13:00:46  <Pinned>I do contracted work for various companies, this is for one of my own projects though
13:04:27  * rmgquit (Ping timeout: 250 seconds)
13:11:09  <txdv>Pinned: interesting, is it a secret or would you mind telling me a bit?
13:11:26  <txdv>about this project
13:14:46  * iamstef_joined
13:16:36  * Pinnedchanged nick to bawNg
13:17:13  * bawNgquit (Changing host)
13:17:13  * bawNgjoined
13:17:13  * bawNgquit (Changing host)
13:17:13  * bawNgjoined
13:17:33  <bawNg>Ok, firstly fixed my name
13:17:52  <bawNg>I hardly ever use IRC anymore, since all the people I speak to daily have moved to Slack
13:17:52  <txdv>how is your name pronounced? like bong?
13:17:58  <bawNg>Pretty much yeah
13:18:35  <txdv>irc is the channel if you want to be as unproductive as hell or you want to ask people that you are not in an organization with every day
13:18:52  <bawNg>I am one of the core devs behind Oxide, which is a modular .Net game server plugin framework which aims to eventually be a universal plugin framework for just about every .Net game
13:18:57  <txdv>i just let an irssi client hang with screen together on my linxu server
13:19:20  <txdv>o yeah, i remember, i think we already talked
13:20:00  <bawNg>I plan on adding these Libuv bindings to the Oxide core, for various things like web requests which currently use .Net async IO
13:20:42  <bawNg>The client for my own master server used for the game servers I host myself is the biggest priority right now, due to the edge case issues on linux
13:21:12  * brucem_joined
13:22:02  <bawNg>The majority of the game servers which use the master server are for http://rustbattleroyale.com
13:22:08  * dagobert________quit (*.net *.split)
13:22:09  * brucemquit (*.net *.split)
13:22:09  * iamstefquit (*.net *.split)
13:22:10  * indexzeroquit (*.net *.split)
13:22:13  * Damn3dquit (*.net *.split)
13:22:15  * creationixquit (*.net *.split)
13:22:15  * eugenewarequit (*.net *.split)
13:22:16  * daurnimatorquit (*.net *.split)
13:22:17  * tolmaskyquit (*.net *.split)
13:22:17  * meschquit (*.net *.split)
13:22:19  * mafintoshquit (*.net *.split)
13:22:19  * benoitcquit (*.net *.split)
13:22:20  * dagobert________joined
13:22:24  * dagobert________quit (Changing host)
13:22:24  * dagobert________joined
13:23:44  <txdv>do unity people use nugets?
13:24:05  * indexzero_joined
13:24:05  * Damn3djoined
13:24:05  * creationixjoined
13:24:05  * eugenewarejoined
13:24:05  * daurnimatorjoined
13:24:05  * tolmaskyjoined
13:24:05  * meschjoined
13:24:05  * mafintoshjoined
13:24:05  * benoitcjoined
13:24:17  * indexzero_quit (Changing host)
13:24:17  * indexzero_joined
13:24:20  * brucem_changed nick to brucem
13:24:28  * brucemquit (Changing host)
13:24:28  * brucemjoined
13:26:41  <bawNg>Unity doesn't support them, pretty have to copy the assembly from somewhere to the project
13:30:57  <txdv>sad story
13:31:15  <txdv>well then a net 3.5 nuget of libuvsharo won't help anyone
13:32:05  <bawNg>Not much
13:33:27  * iamstef_changed nick to iamstef
13:38:00  <bawNg>txdv: I think we have spoken before, but not in this channel
13:38:05  <bawNg>Perhaps it was in the mono dev channel
13:38:41  <bawNg>I have come across quite a few C# 6 mono compiler bugs since we started supporting C# 6 syntax in plugins
14:00:28  * sahelquit (Ping timeout: 244 seconds)
14:18:02  * alexforsterjoined
14:22:41  * Fishrock123joined
14:30:16  * bnoordhuisjoined
14:32:16  * happy-dudejoined
14:37:40  * frandagostinoquit (Ping timeout: 264 seconds)
14:45:05  * Fishrock123quit (Remote host closed the connection)
14:55:25  * bnoordhuisquit (Quit: leaving)
15:15:52  * jwilmquit (Quit: leaving)
15:27:22  * seishunjoined
15:58:13  * Damn3dquit (Ping timeout: 250 seconds)
16:01:10  * rmgjoined
16:02:38  * Damn3djoined
16:48:28  * Fishrock123joined
17:11:08  * Fishrock123quit (Remote host closed the connection)
17:11:21  * davijoined
17:16:03  * Fishrock123joined
17:18:22  * daviquit (Ping timeout: 248 seconds)
17:21:09  * iwuzherejoined
17:22:00  * test2_joined
17:22:24  * test2_quit (Client Quit)
17:40:11  * Fishrock123quit (Read error: Connection reset by peer)
17:40:34  * Fishrock123joined
17:47:43  <txdv>wtf, why is there a one file setup file in dist.libuv.org
17:47:46  <txdv>i just want to download the dll
17:54:24  * PerilousApricotjoined
17:58:19  <bawNg>Not ideal, I had to install 3 versions and then copy the DLL from each one
18:04:55  * Fishrock123quit (Remote host closed the connection)
18:42:10  * Fishrock123joined
18:48:07  * saheljoined
19:13:02  * rendarquit (Ping timeout: 248 seconds)
19:17:31  <txdv>bawNg: There are tools which let you extract it
19:17:36  <txdv>i used 7zip
19:19:45  * rendarjoined
19:21:48  <txdv>bawNg: also, how do you compile to old frameworks with new compilers?
19:22:10  <txdv>it complains that the operator '+' cannot be applied to operands of type IntPtr and int
19:32:14  * brsonjoined
19:42:52  <bawNg>For the VS project, you can just select the framework version and it'll use the latest compiler
19:43:45  <bawNg>For mono, you'd likely need to manually specify every assembly and dependency and a bunch of other compiler options
19:44:00  * PerilousApricotquit (Remote host closed the connection)
19:45:03  <bawNg>txdv: Which version of Visual Studio are you using?
19:45:19  * brsonquit (Quit: leaving)
19:45:32  <txdv>2015
19:45:34  <txdv>https://github.com/txdv/LibuvSharp/tree/net35
19:45:51  <txdv>i just commented some stuff out and made it compile 3.5 asap
19:47:05  <bawNg>Ok thanks, I'll test it out as soon as I have time
19:47:26  <txdv>im not really satisfied with the places where i had to get rid of using the + operators with IntPtr
19:47:36  <txdv>like it doesn't work that easily for 3.5
19:47:44  <txdv>you cant do something like (IntPtr)1 + 2
19:48:24  <txdv>So i wonder if it is possible to take a newer compiler version and compile it against and older .net framework
19:48:33  * jhamhaderjoined
19:49:37  * jhamhaderquit (Client Quit)
19:50:45  * jhamhaderjoined
19:51:14  <bawNg>Hmm, you should already be using the latest Roslyn compiler though
19:51:35  <bawNg>Visual Studio doesn't use an older compiler for older framework versions
19:52:12  <txdv>the + operator overloads are probably defined in the assemblies
19:52:16  <txdv>its not a compiler thing
19:53:26  <txdv>C:\Users\Andrius Bentkus\Documents\GitHub\LibuvSharp\bin\Debug>csc
19:53:27  <txdv>Microsoft (R) Visual C# Compiler version
20:07:41  <txdv>https://msdn.microsoft.com/en-us/library/system.intptr.op_addition(v=vs.110).aspx
20:07:48  <txdv>probably a framework issue
20:10:21  <bawNg>Yeah, those are framework overloads
20:19:08  * brsonjoined
20:23:08  <txdv>yeah, framework overload, doing something like object o = null; Console.WriteLine(o ?? "ASD") works
20:36:39  * PerilousApricotjoined
20:40:10  * PerilousApricotquit (Remote host closed the connection)
20:40:20  * Perilous_joined
20:41:28  * dap_joined
20:45:02  * seishunquit (Ping timeout: 244 seconds)
21:12:01  * jhamhaderquit (Quit: leaving)
21:29:42  * alexforsterquit (Quit: Textual IRC Client: www.textualapp.com)
21:48:19  * xer0x_quit (Ping timeout: 248 seconds)
21:52:04  * xer0xjoined
22:49:56  * frandagostinojoined
22:50:01  <frandagostino>Hello there
22:50:09  <frandagostino>can anyone help with an issue in this line: https://github.com/libuv/libuv/blob/v1.x/src/unix/thread.c#L239
22:50:27  <frandagostino>?
22:52:41  * zju3joined
22:53:03  * zjuquit (Ping timeout: 240 seconds)
22:53:04  * zju1quit (Ping timeout: 240 seconds)
22:53:45  * zjujoined
23:15:31  * rendarquit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
23:51:52  * sahelquit (Ping timeout: 260 seconds)