CLFS-rendezési területek

A Common Log File System (CLFS) ügyfél naplórekordokat fűzi az illékony memóriában lévő összeállítási területhez, és a CLFS rendszeresen megírja ezeket a rekordokat a stabil tárolóba. A rendezési terület napló I/O-pufferek gyűjteménye, amelyek mindegyike több naplórekordot is tartalmazhat. A napló I/O-pufferei olyan rekordokat tárolnak, amelyek nemrég egy streambe íródtak (de valószínűleg még nincs a stabil tárolóba írva), valamint a streamből nemrégiben olvasott rekordokat.

A ClfsCreateMarshallingArea meghívásával létrehoz egy rendezési területet, amelyben meg kell adnia a rendezési terület által használt napló I/O-pufferek méretét, valamint azt, hogy ezek a pufferek a lapozott vagy a nem lapozott készletben találhatók-e. A gyűjtőterületen lévő összes napló I/O-puffer mérete azonos, és a CLFS biztosítja, hogy a mérete a mögöttes stabil tárolóeszköz szektorméretének többszöröse legyen. Ez azt jelzi, hogy a CLFS felveszi a kért méretet, és szükség szerint felfelé kerekít, hogy az I/O-pufferek kompatibilisek legyenek a stabil tárolóeszközzel.

A CLFS szükség szerint lefoglalja és felszabadítja a napló I/O-puffereit, de beállíthatja az egyszerre lefoglalható I/O-pufferek maximális számát. Lehetősége van saját pufferfoglalási és felszabadítási függvények biztosítására is.

A naplórekordok írásához egyszerre lefoglalható napló I/O-pufferek maximális számának megadásához állítsa be a ClfsCreateMarshallingArea függvény cMaxWriteBuffers paraméterét. A pufferek számának korlátozása befolyásolja a öblítések gyakoriságát a stabil tárolásra; kevesebb puffer esetén a naplórekordokat gyakrabban kell stabil tárolóba írni. Ha nem kell szabályoznia a kiürítési gyakoriságot, állítsa a cMaxWriteBuffers értéket VÉGTELEN értékre (a Winbase.h-ban definiálva).

A naplórekordok olvasásához egyszerre lefoglalható napló I/O-pufferek maximális számának megadásához állítsa be a ClfsCreateMarshallingArea függvény cMaxReadBuffers paraméterét. Ha nem kell szabályoznia a lefoglalt olvasási pufferek számát, állítsa a cMaxReadBuffers értékét VÉGTELEN értékre.

Ha saját memóriafoglalást szeretne végezni a napló I/O-puffereihez, állítsa be a ClfsCreateMarshallingArea függvény pfnAllocBuffer és pfnFreeBuffer paramétereit úgy, hogy a saját foglalási és felszabadítási függvényekre mutasson. Ezután a CLFS meghívja a függvényeket a tényleges memóriafoglalás és felszabadítás végrehajtására, amikor létre kell hoznia vagy szabaddá kell tennie a napló I/O-puffereit.

Bizonyos esetekben érdemes előre lefoglalni a helyet egy rendezési területen. Előfordulhat például, hogy 10 naplórekordból álló készletet készül írni, és biztos akar lenni abban, hogy a kiosztási területen elegendő hely áll rendelkezésre a teljes készlet számára. A 10 rekord helyének lefoglalásához hozzon létre egy 10 elemből álló tömböt, amely a rekordok méretét tartalmazza, majd adja át a tömböt az rgcbReservation paraméter ClfsReserveAndAppendLog függvényének. A ClfsReserveAndAppendLog egy többcélú függvény, amely helyet foglal egy rendezési területen, vagy naplórekordokat fűz egy streamhez, vagy mindkettőt atomilag végzi. A paraméterek megfelelő beállításával meghívhatja a ClfsReserveAndAppendLogot , hogy helyet foglaljon a jövőbeli használatra anélkül, hogy bármilyen rekordot hozzáfűz a streamhez.

Lásd még

ClfsCreateMarshallingArea

ClfsReserveAndAppendLog

rendezési terület