Documentation
¶
Index ¶
Constants ¶
View Source
const ( READ_LINE = 0 READ_SIZE = 1 )
View Source
const RunLengthDir = "/tmp/run_lengths" // 存放游程的目录
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Converter ¶
type Converter interface {
Convert(memb string) (FileRecord, error)
}
将字符串转化为文件记录类型的数据
type FReader ¶
type FReader interface { // 尝试从stream中读取nmem个msize大小的数据 // 将读取到的数据转化后返回 // 返回值: // 转化好的数据, 成功读取到的数据个数 Fread(stream *os.File, msize uint64, nmem uint64, cvt Converter) ([]FileRecord, uint64) // 尝试从stream中读取lineNum行, 将每一行当作一条数据进行转化 // 返回成功读取到的行数 ReadLines(stream *os.File, lineNum uint64, cvt Converter) ([]FileRecord, uint64) }
从文件中读取指定类型的数据
type FRecordHeap ¶
type FRecordHeap []FileRecord
文件记录的最小堆
func (FRecordHeap) Len ¶
func (frh FRecordHeap) Len() int
func (FRecordHeap) Less ¶
func (frh FRecordHeap) Less(i, j int) bool
func (*FRecordHeap) Pop ¶
func (frh *FRecordHeap) Pop() interface{}
func (*FRecordHeap) Push ¶
func (frh *FRecordHeap) Push(record interface{})
func (FRecordHeap) Swap ¶
func (frh FRecordHeap) Swap(i, j int)
type FileRecord ¶
type Lesser ¶
type Lesser interface { // 比较当前Lesser类型变量与传入的Lesser类型变量的大小 // 返回当前类型变量是否比传入的变量小 Less(lesser Lesser) bool }
可比较类型
type LocalFileReader ¶
type LocalFileReader struct {
// contains filtered or unexported fields
}
普通本地文件读取器
func NewLocalFileReader ¶
func NewLocalFileReader() *LocalFileReader
func (*LocalFileReader) Fread ¶
func (lfr *LocalFileReader) Fread(stream *os.File, msize uint64, nmem uint64, cvt Converter) ([]FileRecord, uint64)
func (*LocalFileReader) GetReader ¶
func (lfr *LocalFileReader) GetReader(stream *os.File) *bufio.Reader
func (*LocalFileReader) ReadLines ¶
func (lfr *LocalFileReader) ReadLines(stream *os.File, lineNum uint64, cvt Converter) ([]FileRecord, uint64)
type ReplacementSelectionSorter ¶
type ReplacementSelectionSorter struct {
// contains filtered or unexported fields
}
func NewReplacementSelectionSorter ¶
func NewReplacementSelectionSorter(N uint64, records []FileRecord) (*ReplacementSelectionSorter, chan string)
func (*ReplacementSelectionSorter) BuildInitialHeap ¶
func (rss *ReplacementSelectionSorter) BuildInitialHeap(N uint64, records []FileRecord)
建立初始堆
func (*ReplacementSelectionSorter) Output ¶
func (rss *ReplacementSelectionSorter) Output(newRecord FileRecord)
输出堆顶元素, 并且补充新的元素
Click to show internal directories.
Click to hide internal directories.