gijl/lv-storage / llama.cpp /src /llama-io.h
gijl's picture
download
raw
934 Bytes
#pragma once
#include <cstddef>
#include <cstdint>
#include <string>
struct ggml_tensor;
class llama_io_write_i {
public:
llama_io_write_i() = default;
virtual ~llama_io_write_i() = default;
virtual void write(const void * src, size_t size) = 0;
virtual void write_tensor(ggml_tensor * tensor, size_t offset, size_t size) = 0;
// bytes written so far
virtual size_t n_bytes() = 0;
void write_string(const std::string & str);
};
class llama_io_read_i {
public:
llama_io_read_i() = default;
virtual ~llama_io_read_i() = default;
virtual void read(void * dst, size_t size) = 0;
virtual void read_tensor(ggml_tensor * tensor, size_t offset, size_t size) = 0;
// drop tensor data that has been read but not yet applied (e.g. when a restore fails)
virtual void discard() {}
// bytes read so far
virtual size_t n_bytes() = 0;
void read_string(std::string & str);
};

Xet Storage Details

Size:
934 Bytes
·
Xet hash:
9448bd695a593470ab2d7ac953eaf687adf0c876f5ba1f29e83325116efeceee

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.