Update doc/efun/ aus Driversourcen.
Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.
Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/call_out b/doc/efun/call_out
index 0293b3e..f3293c0 100644
--- a/doc/efun/call_out
+++ b/doc/efun/call_out
@@ -2,48 +2,52 @@
void call_out(string fun, int delay, mixed arg, ...)
void call_out(closure cl, int delay, mixed arg, ...)
-BESCHREIBUNG
- Ruft zeitverzoegert die Funktion <fun> im aktuellen Objekt oder
- die Closure <cl> auf. Der Aufruf erfolgt in <delay> Sekunden.
- Die Funktion / Closure wird mit den <arg> Argumenten aufgerufen.
- Die minimale Verzoegerung ist 0 (negative <delay> werden implizit als
- 0 behandelt). Allerdings ist die reale Verzoegerung etwas zwischen
- <delay> und __ALARM_TIME__.
+DESCRIPTION
+ Set up a call to function fun in the current object, or to
+ closure cl. The call will take place after <delay> seconds, with the
+ remaining argument list provided.
+ <delay> can be a minimum time of 0 (negative values are implicitly
+ treated as 0), but the real delay will be something between <delay>
+ and <delay> + __ALARM_TIME__.
- call_out() merkt sich den aktuellen User und ruft die Funktion
- entsprechend auf. call_out() kann nur Funktionen aufrufen, die
- oeffentlich zugaenglich sind, das heisst "public" und "static"
- deklarierte Funtionen. "private" und "protected" deklarierte
- Funktionen koennen nicht aufgerufen werden.
+ call_out() saves and restores the current user. It is now
+ possible to use say() or write() which rely on a current
+ user to be something useful.
- Die Ausfuehrung von call_out()s erfordert einen einfachen (nicht
- zu aufwendigen) Schutz gegen Rabbits: die Evalkosten aller
- gleichzeitig anstehenden call_out()s werden auf einer pro-UID-Basis
- summiert. Uebersteigt die Summe ein vorgegebenes Maximum, wird
- ein Fehler 'too long evaluation' erzeugt, und es werden alle
- call_out()s des betreffenden Benutzers, die zur gleichen Zeit
- faellig werden, entfernt.
+ call_out() can only call functions by name <fun> which are publicly
+ accessible, i.e. "public" and "static" functions. "private" and
+ "protected" functions can't be called.
- Wenn zwei call_out()s zum gleichen Zeitpunkt ausgefuehrt werden
- sollen, wird der zuerst gestartete zuerst ausgefuehrt.
+ If <fun> does not define a publicly accessible function, the
+ efun will call the H_DEFAULT_METHOD hook if set.
+ Calls to the master object never use the H_DEFAULT_METHOD hook.
-BEISPIELE
+ The execution of the call_out()s implies a simple (not
+ exhaustive) measure against rabbits: the evaluation costs of
+ those call_outs() executing at the same time are summed up on
+ a per-UID base. If the summed-up costs exceed the given maximum,
+ a 'too long evaluation' error will occur and any remaining
+ call_outs() of this user scheduled for the same time are
+ discarded.
+
+ If two call_out()s were started with the same target time
+ the one that was issued first will be executed first.
+
+EXAMPLES
call_out("RefreshMe", 10);
- Dies ruft die Funktion RefreshMe() nach Ablauf von 10 Sekunden ohne
- irgendwelche Argumente auf. Die Funktion RefresMe() kann dann
- wiederum selbst call_out()s starten, auch auf sich selbst, was
- eine Schleife erzeugt (keine Rekursion). Mit einer solchen Schleife
- koennen Anweisungen in einem Objekt in regelmaessigen Zeitintervallen
- ausgefuehrt werden. Es ist allerdings zu beachten, dass call_out()s
- in einer linearen Liste gespeichert werden, und deshalb ziemlich
- rechenaufwendig fuer den Treiber sind.
+ This will call the function RefreshMe() in 10 seconds without
+ any arguments. The function RefreshMe() can then call out
+ itself again which will result in a loop (not in a recursion)
+ which can be used to check or set up things in the object in
+ intervals. Be aware that callouts are stored in a linear
+ list, and so are somewhat expensive for the driver.
- Und JA: selbst-replizierende call_out()s, bei denen jeder call_out()
- selbst zwei oder mehr call_out()s in einem Loop erzeugt (sogenannte
- Rabbits) verlangsamen das Mud ungemein und koennen es sogar zum
- Crash bringen. Kein Grund, es selbst auszuprobieren.
+ And YES: self-replicating call_out()s, where each call_out()
+ creates two or more other call_out()s in a loop (so called
+ 'rabbits') slow the mud down very fast, and are even able
+ to crash it. No need to try it yourself.
-SIEHE AUCH
+SEE ALSO
remove_call_out(E), call_out_info(E), find_call_out(E),
this_player(E), reset(A), heart_beat(A)