*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
llnz | well... do what you can | 00:00 |
---|---|---|
* llnz starts skiming the asio tutorials | 00:07 | |
epyon-kitsune | llnz: if you never coded asio before, then it will take a while :P | 00:10 |
llnz | i've read them before, just reminding myself | 00:11 |
epyon-kitsune | unfortunately my initail plan turned out impossible | 00:11 |
epyon-kitsune | initially I wanted to reimplement the connections using only the asio socket layer | 00:11 |
epyon-kitsune | but it turns out you can't use the socket layer without running the asio loop | 00:11 |
epyon-kitsune | I wasted a lot of time trying to make that work :/ | 00:12 |
epyon-kitsune | I'm still trying to find a way that it can be achieved without a gigantic commit | 00:14 |
llnz | the superclasses should make it fairly small | 00:16 |
llnz | shouldn't it? | 00:17 |
llnz | if you have to do a big commit, then do it | 00:17 |
epyon-kitsune | Not exactly. The problem is that sockets are now represented by int's | 00:20 |
epyon-kitsune | And they're copied around. | 00:20 |
epyon-kitsune | asio sockets are non-copyable | 00:20 |
epyon-kitsune | So first a connection needs to be created, and then the acceptor needs to get the socket of the connection passed. | 00:20 |
epyon-kitsune | That changes the existing order drastically | 00:21 |
llnz | so basically, you are going to need to rewrite the network class (i think you might have been going to call it the Server class) | 00:21 |
epyon-kitsune | Yes, and actually that's the easiest part | 00:21 |
llnz | modify the listensockets to extend acceptor_ | 00:21 |
epyon-kitsune | the harder part is rewriting the connections | 00:21 |
epyon-kitsune | I already started to write a new base connection class. | 00:22 |
epyon-kitsune | It's in the 2) point | 00:22 |
epyon-kitsune | Oh no, extending any asio classes is dangerous | 00:22 |
epyon-kitsune | Also with asio there's no much need to have separate listensockets | 00:23 |
llnz | other than manage them | 00:23 |
epyon-kitsune | the current acceptor class just takes a callback | 00:23 |
epyon-kitsune | hey, listen sockets don't manage anything even in the current design :) | 00:23 |
llnz | having the ability to close the player listener sockets when needed | 00:23 |
StrangerDanger | Could anyone help me install TP on ubuntu 9.04 ? | 00:23 |
llnz | the network stop command closed the player connections and and player listener sockets | 00:24 |
epyon-kitsune | The server class currently holds 5 acceptors | 00:24 |
epyon-kitsune | Unfortunately we can't rely on the asio loop to take ownage of the connections as I initially planned, because we need to be able to send something to all open connections. | 00:24 |
epyon-kitsune | On the bright side, I found a nice way to insert the timer events into the asio loop also :) | 00:25 |
epyon-kitsune | ... too much research to little code :/ | 00:28 |
epyon-kitsune | ... I need to brainlessly try to get the current idea onto code I guess. | 00:29 |
llnz | why not commit the server class now? | 00:44 |
epyon-kitsune | can't | 01:03 |
epyon-kitsune | the names of some files (connection.h) are in conflict | 01:03 |
epyon-kitsune | I've always lived by the rule of not commiting something that doesn't compile | 01:04 |
llnz | ok, i generally do too | 01:05 |
epyon-kitsune | tommorow I need to go to the police... maybe I'll find time but for sure I'll send you the new core prototype the day after | 01:05 |
llnz | ok | 01:06 |
llnz | feel free to email the files to me if you want me to have a look before it's ready | 01:06 |
*** StupidIncarnate has joined #tp | 01:14 | |
*** mithro has joined #tp | 01:40 | |
llnz | hi mithro | 01:44 |
tansell | StrangerDanger, what help do you need? | 01:46 |
StrangerDanger | Well | 01:47 |
StrangerDanger | The sudo apt-get command does not work | 01:47 |
StrangerDanger | And the other help I am confused on | 01:47 |
*** nash has joined #tp | 02:15 | |
*** verhoevenv has quit IRC | 02:55 | |
*** bisc has joined #tp | 03:47 | |
bisc | tansell:ping | 04:18 |
tansell | bisc, pong | 04:18 |
bisc | tansell: so, let's start with this one http://codereview.mithis.com/54002 | 04:20 |
tpb | Title: Issue 54002: Saving of users server choice. - Code Review (at codereview.mithis.com) | 04:20 |
tansell | okay... | 04:25 |
bisc | tansell: then, this one http://codereview.mithis.com/79001. I hope I correctly understood your words about 'getting information from network thread' | 04:28 |
tansell | bisc, so don't you need a patch for libtpclient-py? | 04:29 |
bisc | tansell: no, why? | 04:30 |
tansell | how else will the network thread contain the information you need? | 04:30 |
bisc | tansell: it already has what I need -- in network.connection.hoststring and network.connection .port | 04:31 |
tansell | you can't do the following | 04:32 |
tansell | game = self.application.network.connection.games()[0] | 04:32 |
bisc | tansell: why not? not safe? | 04:33 |
tansell | yeah | 04:33 |
bisc | any other way to do it? From cache? | 04:33 |
bisc | tansell: or just move it to thread-safe method? | 04:35 |
tansell | using the cache is safe | 04:35 |
bisc | and can I do such thing: self.application.network.connection (see lower)? | 04:37 |
llnz | bbl | 04:37 |
*** llnz has quit IRC | 04:37 | |
bisc | tansell: I don't see how to extract Game objects from cache. I guess it doesn't contain them. So, I need to take them from network anyway, right? | 04:45 |
tansell | bisc, you can't call any methods on the network class | 04:46 |
bisc | tansell: but I can access its instance variables? | 04:48 |
tansell | yes | 04:48 |
bisc | tansell: but I need to add @thread_safe decorator to do it? | 04:49 |
tansell | no | 04:50 |
tansell | only to methods | 04:50 |
tansell | and you should only do that if you are a 100% sure the method is threadsafe | 04:50 |
bisc | tansell: yes, I meant adding it to methods, in which I access other thread's variables. "100% sure the method is threadsafe" - what does this exactly mean? | 04:52 |
tansell | bisc, it means that it doesn't do something which isn't threadsafe | 04:53 |
bisc | tansell: like what? Calling other thread's methods? | 04:54 |
tansell | doing things which modify the threads state in unsafe ways | 04:54 |
bisc | hmm, I see. | 04:55 |
bisc | tansell: so I'll fix it. Now, about this one http://codereview.mithis.com/68001. Last thing was talking about removing the word 'Getting'. I said that it breaks layout by taking too much space. | 04:58 |
tansell | done | 05:00 |
bisc | tansell: thanks. Now, this one http://codereview.mithis.com/84001. I've applied logic 'show only queues that have possible order types or existing orders. No queues - hide panel's internals' | 05:02 |
tansell | done | 05:03 |
bisc | tansell: ok. Here I've edited order's parameters for Orders panel, which are incorrect (as you said) http://codereview.mithis.com/86001 | 05:05 |
tpb | Title: Issue 86001: Order panel: params for Order fixed. - Code Review (at codereview.mithis.com) | 05:05 |
tansell | does it work? | 05:05 |
bisc | tansell: nothing has changed visually. Orders are added successfully as well as in current version. | 05:08 |
tansell | awesome | 05:08 |
tansell | done! | 05:08 |
*** glew has quit IRC | 05:09 | |
bisc | tansell: great. In this patch http://codereview.mithis.com/59001 you told me to check what happens with long labels. It's a problem -- big labels will make buttons disappear, and I can't suggest any quick and stable decision for this. I think we just shouldn't place big labels there ourselves. | 05:12 |
tpb | Title: Issue 59001: Information panel: improving buttons. - Code Review (at codereview.mithis.com) | 05:12 |
tansell | the values should wrap | 05:13 |
bisc | I've tried it and it didn't work for some reason. Let me check again | 05:14 |
bisc | tansell: in some panels, there's a class variable 'toplevel = []'. Doesn't it mean that we're supposed to use this variable instead of [] when we speak about toplevel objects, for the sake of code readability? | 05:18 |
tansell | hrm? | 05:18 |
bisc | tansell: oh, sorry, not panels -- overlays. For instance, in Paths and Systems there's toplevel = [] declaration in the beginning of class. Shall we write code like 'self.active = toplevel' instead of 'self.active = []' ? | 05:21 |
tansell | bisc, no | 05:22 |
tansell | that is empty list having two different meanings | 05:22 |
bisc | tansell: well, maybe this exact example with self.active isn't the right one. I'm speaking about places where we mean [] is sense of 'Top level object'. Because I don't see any uses of toplevel variable at all. | 05:24 |
tansell | bisc, i'm not sure that toplevel is used anymore - I think it uses something in object utils to determine top level objects now | 05:25 |
bisc | tansell: ok, I understand now. Yes, there's something like 'IsTopLevel' in objectutils. So, just remove this toplevel variable? | 05:27 |
tansell | bisc, probably | 05:27 |
*** mithro has quit IRC | 05:32 | |
bisc | tansell: let's get back to an old issue with filter frame. The last thing was removal of freeze and thaw. http://codereview.mithis.com/53001 | 05:33 |
tpb | Title: Issue 53001: One more option for Filter frame appearance. - Code Review (at codereview.mithis.com) | 05:33 |
tansell | done | 05:34 |
bisc | Today's we have 'approve everything' day :) | 05:35 |
bisc | tansell: now, a complicated one http://codereview.mithis.com/85001. I've been reducing nesting in code by adding a new function there. Still, I'm not sure in how the order is formed (but it works). | 05:38 |
*** mithro has joined #tp | 05:46 | |
bisc | mithro, tansell: can you please look at 85001, as I'm going to leave for some time. | 05:59 |
tansell | okat | 06:04 |
*** bisc has quit IRC | 06:11 | |
*** cahirwpz has joined #tp | 07:07 | |
*** bisc has joined #tp | 07:46 | |
bisc | tansell: ping | 07:49 |
tansell | bisc, pong | 07:49 |
bisc | tansell: anything about http://codereview.mithis.com/85001? | 07:50 |
tpb | Title: Issue 85001: Halfway patch for right click menu. - Code Review (at codereview.mithis.com) | 07:50 |
*** cahirwpz has quit IRC | 08:00 | |
bisc | tansell: also, I'm experiencing some problems with text wrapping. When wrapping is turned on, the text control starts growing vertically and takes a lot of space. Dunno what to do with it. | 08:11 |
*** Epyon has quit IRC | 08:20 | |
*** Epyon has joined #tp | 08:21 | |
*** shenki has quit IRC | 08:30 | |
*** shenki has joined #tp | 08:38 | |
*** cahirwpz has joined #tp | 09:37 | |
*** nash has quit IRC | 09:56 | |
*** mithro has quit IRC | 09:59 | |
*** Epyon has left #tp | 11:35 | |
*** mithro has joined #tp | 12:53 | |
*** verhoevenv has joined #tp | 12:59 | |
*** null_000 has joined #tp | 13:28 | |
*** bisc has quit IRC | 13:54 | |
*** mithro has quit IRC | 13:57 | |
*** null_000 has quit IRC | 14:04 | |
*** null_000 has joined #tp | 15:33 | |
null_000 | alanp: ping | 15:34 |
alanp | hello | 15:36 |
null_000 | so how's progress on the colonisation? | 15:37 |
null_000 | alanp: ping | 16:06 |
*** StrangerDanger has quit IRC | 16:20 | |
*** StrangerDanger has joined #tp | 16:23 | |
*** glew has joined #tp | 17:09 | |
ezod | glew: ping | 17:36 |
alanp | null_000: hello | 17:36 |
glew | ezod: pong | 17:37 |
ezod | hey | 17:37 |
ezod | i see recent work on sqlite - how is that going? | 17:37 |
glew | well, I was able to run a single player game with the sqlite persistence last night | 17:37 |
glew | it was outputting to the database | 17:38 |
ezod | awesome | 17:38 |
glew | I guess i need to compare the results to the mysql module | 17:38 |
ezod | ok | 17:38 |
ezod | can you write a blog post detailing a test procedure for us? | 17:38 |
glew | um, i guess i could | 17:39 |
glew | i'm not 100% sure what i should test though | 17:39 |
glew | or how to go about testing each feature | 17:39 |
ezod | well that's mainly up to you | 17:39 |
glew | or should i just do test cases? | 17:39 |
ezod | that's fine | 17:39 |
glew | ok | 17:40 |
ezod | basically, we want to be confident that it will do the necessary stuff for single-player game saving | 17:40 |
glew | right | 17:40 |
ezod | so how you convince us of that is your call ;) | 17:40 |
ezod | needs to be this week | 17:40 |
glew | yeah | 17:40 |
glew | i'll try to have it by the end of thursday latest so you can read it before friday's deadline of the midterm review | 17:41 |
ezod | if there are any issues (broken/outstanding parts, etc.) just detail what they are and the plan for fixing/finishing them | 17:41 |
glew | ok | 17:41 |
ezod | so your "midterm report" is a blog post of the above 2 things (test procedure and plan for remaining issues) | 17:42 |
ezod | and a revised timeline for the 2nd half, if necessary | 17:42 |
glew | ok, sounds good | 17:42 |
*** null_000 has quit IRC | 17:59 | |
*** Agon has joined #tp | 18:14 | |
*** StupidIncarnate has quit IRC | 19:14 | |
*** Agon has quit IRC | 19:23 | |
*** StrangerDanger has quit IRC | 19:55 | |
*** StrangerDanger has joined #tp | 20:10 | |
*** Agon has joined #tp | 20:29 | |
*** StrangerDanger has quit IRC | 20:38 | |
*** StrangerDanger has joined #tp | 20:40 | |
*** cahirwpz has quit IRC | 20:46 | |
*** llnz has joined #tp | 21:20 | |
llnz | morning all | 21:20 |
*** Agon has quit IRC | 21:38 | |
*** Agon-laptop has joined #tp | 21:43 | |
llnz | Agon-laptop: looks like things are going well | 21:57 |
llnz | i should get some time to compile and run it tonight | 21:57 |
Agon-laptop | llnz: hello, yes, I did a bit of work today and yesterday. But a lot of work is still a head of me. | 22:19 |
Agon-laptop | I will continue work, tomorrow. | 22:20 |
*** llnz has quit IRC | 22:24 | |
*** llnz has joined #tp | 22:49 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!