Documentation ¶
Index ¶
- type BufferPoolManager
- func (bpm *BufferPoolManager) AllocatePage(page_id uint32) page.Page
- func (bpm *BufferPoolManager) GetPage(page_id uint32) page.Page
- func (bpm *BufferPoolManager) Init(buffer_size int, dmi diskio.DiskManager)
- func (bpm *BufferPoolManager) PersistAll()
- func (bpm *BufferPoolManager) PinPage(page_id uint32) bool
- func (bpm *BufferPoolManager) UnPinPage(page_id uint32) bool
- type ClockReplacer
- type PageTable
- type Replacer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BufferPoolManager ¶
type BufferPoolManager struct {
// contains filtered or unexported fields
}
func GetNewBufferPoolManager ¶
func GetNewBufferPoolManager(buffer_size int, dmi diskio.DiskManager) *BufferPoolManager
func (*BufferPoolManager) AllocatePage ¶
func (bpm *BufferPoolManager) AllocatePage(page_id uint32) page.Page
func (*BufferPoolManager) GetPage ¶
func (bpm *BufferPoolManager) GetPage(page_id uint32) page.Page
not thread safe
func (*BufferPoolManager) Init ¶
func (bpm *BufferPoolManager) Init(buffer_size int, dmi diskio.DiskManager)
func (*BufferPoolManager) PersistAll ¶
func (bpm *BufferPoolManager) PersistAll()
func (*BufferPoolManager) PinPage ¶
func (bpm *BufferPoolManager) PinPage(page_id uint32) bool
func (*BufferPoolManager) UnPinPage ¶
func (bpm *BufferPoolManager) UnPinPage(page_id uint32) bool
type ClockReplacer ¶
type ClockReplacer struct {
// contains filtered or unexported fields
}
func (*ClockReplacer) GetNextVictim ¶
func (cr *ClockReplacer) GetNextVictim() (int, bool)
func (*ClockReplacer) PinPage ¶
func (cr *ClockReplacer) PinPage(frame_id int)
func (*ClockReplacer) Size ¶
func (cr *ClockReplacer) Size() int
func (*ClockReplacer) UnPinPage ¶
func (cr *ClockReplacer) UnPinPage(frame_id int)
type PageTable ¶
type PageTable struct {
// contains filtered or unexported fields
}
Ephemeral stays in the volatile storage later could make a decision on using sync.Map vs map with locks ref: https://medium.com/@deckarep/the-new-kid-in-town-gos-sync-map-de24a6bf7c2c
func (*PageTable) InsertOrUpdate ¶
Click to show internal directories.
Click to hide internal directories.