一个队列,将数据序列化存储到本地文件中。
使用RandomAccessFile,将数据以一定的格式序列化(默认支持两种gson、protobuf)后,写入文件末尾,并记录末尾的指针;读的时候从文件头开始读取数据,并记录头的指针。
put和take(阻塞)
val fileQueueProto = MutableFileQueue.Builder()
.maxSize(Size._G * 3)
.path(path)
.type(Dog.class)
.factory(ProtobufConverterFactory.create())
.build()
fileQueueProto.put(Dog())
val dog = fileQueueProto.take()