Search in sources :

Example 1 with File

use of com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File in project sofa-jraft by sofastack.

the class LocalSnapshotMetaTable method saveToFile.

/**
 * Save metadata infos into file by path.
 */
public boolean saveToFile(String path) throws IOException {
    LocalSnapshotPbMeta.Builder pbMeta = LocalSnapshotPbMeta.newBuilder();
    if (hasMeta()) {
        pbMeta.setMeta(this.meta);
    }
    for (Map.Entry<String, LocalFileMeta> entry : this.fileMap.entrySet()) {
        File f = File.newBuilder().setName(entry.getKey()).setMeta(entry.getValue()).build();
        pbMeta.addFiles(f);
    }
    ProtoBufFile pbFile = new ProtoBufFile(path);
    return pbFile.save(pbMeta.build(), this.raftOptions.isSyncMeta());
}
Also used : LocalSnapshotPbMeta(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta) LocalFileMeta(com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta) HashMap(java.util.HashMap) Map(java.util.Map) ProtoBufFile(com.alipay.sofa.jraft.storage.io.ProtoBufFile) File(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File) ProtoBufFile(com.alipay.sofa.jraft.storage.io.ProtoBufFile)

Aggregations

LocalFileMeta (com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta)1 LocalSnapshotPbMeta (com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta)1 File (com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File)1 ProtoBufFile (com.alipay.sofa.jraft.storage.io.ProtoBufFile)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1