blob: 17c33327fc98bf5551043140609e2e876c3ad1ea [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002ResizeRingBuffer()
Zesstra953f9972017-02-18 15:37:36 +01003******************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 protected struct std_ringbuffer buf RingBufferPut(
10 struct std_ringbuffer buf,
11 int size);
MG Mud User88f12472016-06-24 23:31:02 +020012
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014DEFINIERT IN
15============
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017 /std/util/ringbuffer.c
18 /sys/util/ringbuffer.h
19
20
21ARGUMENTE
22=========
23
24 buf - Ringpuffer, dessen Groesse geaendert werden soll
25 size - neue Groesse (int)
26
27
28BESCHREIBUNG
29============
30
31 Diese Funktion erstellt einen neuen Ringpuffer der Groesse <size>, welcher
32 den gleichen Modus hat wie <buf> und die gleichen Daten enthaelt.
33 Ist der neue Puffer kleiner als <buf>, so kommt es hierbei zu
34 Datenverlust.
35 <buf> wird nicht veraendert. Ist die Groesse von <buf> gleich der
36 neuen gewuenschten Groesse, wird letztendlich der Ringpuffer kopiert.
37 Je nach Groesse von <buf> und Wert von <size> kann dies eine teure
38 Angelegenheit sein.
39
40
41RUeCKGABEWERT
42=============
43
44 Der neue Ringpuffer mit Groesse <size>.
45
46
47BEISPIELE
48=========
49
50 // Ringpuffer anlegen:
51 struct std_ringbuffer buffer = CreateRingBuffer(5, MODE_FIFO);
52 // 5 Werte reinschreiben:
53 foreach(int i: 5) RingBufferPut(buffer, i);
54 // Groesse aendern
55 buffer = ResizeRingBuffer(buffer, 10);
56 // Daten als Array ermitteln:
57 mixed array = RingBufferGet(buffer);
58 // array enthaelt: ({0,0,0,0,0,0,1,2,3,4})
59
60
61SIEHE AUCH
62==========
63
64 RingBufferGet(), RingBufferPut(), CreateRingBuffer()
MG Mud User88f12472016-06-24 23:31:02 +020065
6623.05.2008, Zesstra