Jump to content

NitriX

Members
  • Posts

    7
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by NitriX

  1. Well actually it's from far better than I expected. I'm planning to take an advanced class next session on Networking/programming solutions, who knows what I can learn in mean time, but yes. Thanks everyone for the quick replies! I'm glad to see the MaNGOS community's support is just as awesome as it used to be :]
  2. Faramir118, could you answer my very last question, here (http://tangentsoft.net/wskfaq/articles/io-strategies.html) it says: Heuristic 2: Avoid select(). select() is the least efficient way to manage non-blocking I/O, because there is a lot of overhead associated with the function. Most of this overhead is a linear function of the number of connections: double the number of connections, and you double the processing time. [...] --> How does MaNGOS deal with it? Even if it dispatch events, as you said the Reactor is suspended. That will cause the select() loop to slow down on heavier CPU events.
  3. faramir118 -you- are my lover! o: EDIT: Alright, TP_Reactor will dispatch events directly to threads handlers in a synchronously way. I get your point with the context switches, I admit now it doesn't make sense. Thanks again and here I go! GitHub's waiting for me :]
  4. Oh thanks! Sounds so promising! Is that why MaNGOS is always running at 100% CPU, because of the ticking? I think I would need a more detailed explanation here because in my mind adding events to the queue would still face the same atomicity problem... ...except if the world thread ALSO handle client packets one by one? So there's no thread created every client or some sort of thread pool? Feel free to answer me if you can, I'll give another closer look, thanks again ~Alex
  5. Well thanks for your help but I already know man A LOT of things happen in 3 (almost 4) years now. I used to play with the binaries a while ago but never was interested by the sources by themselves. My friends at work just remembered me that it could be nice. In meantime I keep digging but I only saw ACE_Atomic_Op<> only twice or so, and for threading/sockets purpose. Anyone please ? Regards, ~Alex
  6. Hello everyone, I'll be quite right to the point, this week some of my coworkers told me about your MMORPG engine and some of them even helped on the project and looked very enthusiast about it. Well I'm running out of personal projects at home and I'm kinda curious so I would surely give a try. I went on GitHub and download the tarball; I must say it's quite impressive. There's indeed few things I don't get straight away as for any projects, but this one's driving me insane so I would like to know: The incoming packets are probably not queued since I suppose sometimes one can take forever to be proceeded and slow everyone else down... Like every connection must be a new thread... but then... what happen if two threads try to edit the same variable? As for example, player1's getting hit by a monster and at the same time, player2 is healing... its HP will get messed up because operations arn't atomic and I saw no mutexes at all in the sources. What's the magic behind?! I would really like to help actively. Thanks for your time, ~Alex
  7. What about 303-willcrashforsure ? I can't merge >.< I feel stupid *hate GIT* >.> :huh:
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use