static void ensurePut( const arbiter::Endpoint& endpoint, const std::string& path, const std::string& data) { ensurePut(endpoint, path, std::vector<char>(data.begin(), data.end())); }
virtual void write(Chunk& chunk) const override { auto data(buildData(chunk)); const auto& schema(chunk.schema()); const std::size_t numPoints(data.size() / schema.pointSize()); append(data, buildTail(chunk, numPoints)); ensurePut(chunk, m_metadata.basename(chunk.id()), data); }
void LazPerfStorage::write(Chunk& chunk) const { // TODO Use CompressionStream instead of building a single buffer. const auto data(buildData(chunk)); const auto& schema(chunk.schema()); const std::size_t numPoints(data.size() / schema.pointSize()); auto comp(Compression::compress(data, schema)); append(*comp, buildTail(chunk, numPoints, comp->size())); ensurePut(chunk, m_metadata.basename(chunk.id()), *comp); }