ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/socket/loop.C
Revision 1.40 - (view) (download) (annotate) - [select for diffs]
Thu Mar 1 12:28:17 2007 UTC (17 years, 4 months ago) by pippijn
Branch: MAIN
CVS Tags: rel-2_0
Changes since 1.39: +1 -1 lines
Diff to previous 1.39
nano-cleanups

Revision 1.39 - (view) (download) (annotate) - [select for diffs]
Sat Jan 20 13:47:17 2007 UTC (17 years, 5 months ago) by pippijn
Branch: MAIN
Changes since 1.38: +22 -22 lines
Diff to previous 1.38
comments

Revision 1.38 - (view) (download) (annotate) - [select for diffs]
Sun Jan 14 21:20:51 2007 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.37: +1 -1 lines
Diff to previous 1.37
- bump coro to 3.4 minimum
- delay server reload to after tick
- avoid back-to-back reloads, as those crash Coro :/

Revision 1.37 - (view) (download) (annotate) - [select for diffs]
Mon Jan 8 18:18:36 2007 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.36: +5 -3 lines
Diff to previous 1.36
- move most last_* values into socket, where they belong
- this actually saved a lot of space in the text segment,
  which might mean less complicated pointer accesses, because
  the data is no where it belongs, mostly.

Revision 1.36 - (view) (download) (annotate) - [select for diffs]
Sat Jan 6 14:42:31 2007 UTC (17 years, 6 months ago) by pippijn
Branch: MAIN
Changes since 1.35: +1 -0 lines
Diff to previous 1.35
added some copyrights

Revision 1.35 - (view) (download) (annotate) - [select for diffs]
Tue Jan 2 11:08:36 2007 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.34: +4 -3 lines
Diff to previous 1.34
add some robustness checks, add map find/load locking

Revision 1.34 - (view) (download) (annotate) - [select for diffs]
Wed Dec 27 15:04:39 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.33: +1 -1 lines
Diff to previous 1.33
restore log out logging, reduced command queue length to 3

Revision 1.33 - (view) (download) (annotate) - [select for diffs]
Mon Dec 25 11:25:50 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.32: +4 -19 lines
Diff to previous 1.32
- small, but subtle, rewrite of object management
- perl will now keep attachable objects alive
- objects are now refcounted
- refcouts need to be tested explicitly (refcnt_chk)
- explicit destroy is required current
- explicit destroy asks "nicely" for the object to self destruct, if possible
- refcounts will be used during mortal killing
- minor bugfixes, optimisations etc.
- some former hacks removed.

Revision 1.32 - (view) (download) (annotate) - [select for diffs]
Fri Dec 22 16:34:00 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.31: +0 -26 lines
Diff to previous 1.31
- preliminary check in, stuff is rudimentarily working
- moved most of the player creation process into a perl coroutine
- changed internal design of player management to not reuse
  and morph the object in funny ways. should be safer and much
  nicer to handle.
- got rid of some annoying hacks, such as clear()
  (TODO: get rid of player_pod and other stuff now unnecessary?)

Revision 1.31 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 23:37:06 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.30: +5 -6 lines
Diff to previous 1.30
- made state a per-client variable
  (that does not magically make state a per-client thing!)
- rename player->socket to player->ns. its not a good name for "client",
  but it is an historical artifact, and better than "socket".

Revision 1.30 - (view) (download) (annotate) - [select for diffs]
Thu Dec 21 06:12:37 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.29: +4 -4 lines
Diff to previous 1.29
- made client a first-class crossfire-perl object
  (its attachable), but perl support is missing.
- added some client events
- fixed reply not working after logout

Revision 1.29 - (view) (download) (annotate) - [select for diffs]
Tue Dec 19 04:58:05 2006 UTC (17 years, 6 months ago) by root
Branch: MAIN
Changes since 1.28: +0 -4 lines
Diff to previous 1.28
- separate all comamnds into immediate/socket-level and queued/player-level
- clean up player command handling, handle up to 8 commands/tick

Revision 1.28 - (view) (download) (annotate) - [select for diffs]
Sun Dec 17 19:14:00 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.27: +2 -5 lines
Diff to previous 1.27
re-enable async command execution

Revision 1.27 - (view) (download) (annotate) - [select for diffs]
Sun Dec 17 19:07:23 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.26: +5 -1 lines
Diff to previous 1.26
thats the crash bug

Revision 1.26 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 22:14:42 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.25: +23 -21 lines
Diff to previous 1.25
just reformats

Revision 1.25 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 21:40:26 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24
- clean up some code
- fix some possible (minor) bugs
- use a bitset for anims_sent
- fix a memory leak
- removed dead code

Revision 1.24 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 18:39:26 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.23: +8 -4 lines
Diff to previous 1.23
fix memory leak in player command queue.

Revision 1.23 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 17:16:52 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.22: +1 -1 lines
Diff to previous 1.22
- remove no_shout
- serialise command execution somewhat again :(
- avoid exceptions

Revision 1.22 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 12:23:52 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.21: +1 -1 lines
Diff to previous 1.21
ah yes, zero-terminated binary data :(
      but hey, thats like perl :)

Revision 1.21 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 03:21:08 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.20: +23 -8 lines
Diff to previous 1.20
- limit command backlog to two seconds

Revision 1.20 - (view) (download) (annotate) - [select for diffs]
Sat Dec 16 03:08:26 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.19: +39 -182 lines
Diff to previous 1.19
- socket i/o is completely asynchronous now
- some command sare handled immediately
- others (most palying related commands) are queued
  for later (as of now synchronous) processing
- specifying a max queue length (in seconds) is possible, but disabled
- also add some syntax sugar for network code

Revision 1.19 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 19:59:20 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.18: +11 -13 lines
Diff to previous 1.18
the rename for sanity campaign hits
you died
- renamed stuff
- partially updated copyrights
- some cleanups

Revision 1.18 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 04:21:29 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.17: +0 -44 lines
Diff to previous 1.17
while goofing around, trying to understand the command code
- did some reindentation
- which lead me to find some dead code
- which lead me to some optimisations and more dead code

fun.

Revision 1.17 - (view) (download) (annotate) - [select for diffs]
Fri Dec 15 03:53:44 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.16: +58 -80 lines
Diff to previous 1.16
streamlined packet processing a bit, experimentally enabled more immediate paclets

Revision 1.16 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 22:45:41 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.15: +2 -7 lines
Diff to previous 1.15
- implement event watcher autoncancellation on reload
- used it everywhere
- removed lots of compatibility cruft
  - configure does no longer check for mandatory unix functionality/headers
  - confgiure now runs much faster

Revision 1.15 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 21:46:34 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.14: +5 -57 lines
Diff to previous 1.14
- write() is now independent of server ticks and will be done immediately
- get rid of CORK hack, it is no longer necessary

Revision 1.14 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 04:30:33 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.13: +50 -156 lines
Diff to previous 1.13
- rewrote most of the socket loop code
- moved connection accept into tcp.ext
- no evil socket copying anymore,
  needs more cleanups

Revision 1.13 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 02:37:37 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.12: +6 -6 lines
Diff to previous 1.12
moar\! rewrite\!

Revision 1.12 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 01:12:35 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11
(intermediate check-in for recoverability)

Revision 1.11 - (view) (download) (annotate) - [select for diffs]
Thu Dec 14 00:01:37 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.10: +51 -47 lines
Diff to previous 1.10
- further cleanup and rewrite
- fix a potential crash in "lock" and "mark" packets

Revision 1.10 - (view) (download) (annotate) - [select for diffs]
Wed Dec 13 02:55:51 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.9: +46 -65 lines
Diff to previous 1.9
- medium decruftification
- medium cleanups
- make settings accessible to perl using cf::settings->mutator
  (completely untested)

Revision 1.9 - (view) (download) (annotate) - [select for diffs]
Tue Dec 12 20:53:03 2006 UTC (17 years, 7 months ago) by root
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8
replace some function- by method-calls

Revision 1.8 - (view) (download) (annotate) - [select for diffs]
Mon Dec 11 19:46:47 2006 UTC (17 years, 7 months ago) by pippijn
Branch: MAIN
Changes since 1.7: +5 -7 lines
Diff to previous 1.7
removed #ifn?def WIN32 from all files

Revision 1.7 - (view) (download) (annotate) - [select for diffs]
Thu Sep 14 22:34:05 2006 UTC (17 years, 10 months ago) by root
Branch: MAIN
Changes since 1.6: +1 -7 lines
Diff to previous 1.6
indent

Revision 1.6 - (view) (download) (annotate) - [select for diffs]
Sun Sep 10 13:43:33 2006 UTC (17 years, 10 months ago) by root
Branch: MAIN
Changes since 1.5: +372 -306 lines
Diff to previous 1.5
indent

Revision 1.5 - (view) (download) (annotate) - [select for diffs]
Sat Sep 9 21:48:29 2006 UTC (17 years, 10 months ago) by root
Branch: MAIN
Changes since 1.4: +1 -162 lines
Diff to previous 1.4
fix a few ugly pod-constructs on non-pod objects, and a few newly introduced bugs

Revision 1.4 - (view) (download) (annotate) - [select for diffs]
Wed Aug 30 16:30:37 2006 UTC (17 years, 10 months ago) by root
Branch: MAIN
Changes since 1.3: +4 -4 lines
Diff to previous 1.3
remove compression support, intiialise perl earlier etc. etc.

Revision 1.3 - (view) (download) (annotate) - [select for diffs]
Tue Aug 29 08:01:38 2006 UTC (17 years, 10 months ago) by root
Branch: MAIN
Changes since 1.2: +298 -298 lines
Diff to previous 1.2
expand initial tabs to spaces

Revision 1.2 - (view) (download) (annotate) - [select for diffs]
Thu Aug 24 13:13:49 2006 UTC (17 years, 10 months ago) by root
Branch: MAIN
Changes since 1.1: +1 -67 lines
Diff to previous 1.1
- added cfperl.h, soon to be used by events
- no perl == exit, its no longer optional
- moved server main loop entirely in perl
- removed lots of unneeded timekeeping cruft

Revision 1.1 - (view) (download) (annotate) - [select for diffs]
Sun Aug 13 17:16:06 2006 UTC (17 years, 11 months ago) by elmex
Branch: MAIN
Made server compile with C++.
Removed cfanim plugin and crossedit.
C++ here we come.

Convenience Links

Links to HEAD: (view) (download) (annotate) Links to rel-2_0: (view) (download) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a