57 id.AppendInteger(bin_width);
66 if (cache_key.empty())
76 auto field_bin_width = field_annot.GetNextNeighbor();
94 : m_AnnotName(
data.m_AnnotName)
95 , m_BinWidth(
data.m_BinWidth)
96 , m_DataKey(
data.m_DataKey)
111 size_t blob_size = 0;
114 }
catch(
const exception&) {
127 }
catch (exception& e) {
143 w.write((
const char*)sv_lay.
buf(), sv_lay.
size());
161 for(
const auto&
key : it->second) {
162 histogram_cache.RemoveData(
key);
Serialization / compression of bvector<>. Set theoretical operations on compressed BLOBs.
Serialization for sparse_vector<>
Checksum and hash calculation classes.
CChecksum – Checksum calculator.
Pool of recycled CCompoundID objects.
CCompoundID NewID(ECompoundIDClass new_id_class)
Create and return a new CCompoundID objects.
CCompoundID FromString(const string &cid)
Unpack the base64-encoded ID and return a CCompoundID object for field extraction.
void AppendString(const string &string_value)
Append an eCIT_String field at the end of this compound ID.
CCompoundIDField GetFirst(ECompoundIDFieldType field_type)
Return the first field of the specified type or NULL if this compound ID contains no fields of such t...
static CGraphCache & GetInstance()
Guard that can be used to automatically return object to the pool after leaving some scope.
Note about the "buf_size" parameter for streams in this API.
@ fOwnReader
Own the underlying reader.
@ fOwnWriter
Own the underlying writer.
static mutex m_KeysMapMutex
Mutex for the cache keys.
CVcfHistogram(const string &cache_key)
Copy constructor is invoked by CGraphCache which clones the data for aynchroneous saving operation.
static map< string, vector< string > > m_KeysMap
Map of cache keys per annotation.
static void EraseCachePerAnnotation(const string &annot_name)
static string GetCacheKey(const string &annot_name, const size_t bin_width)
static void InitHistogramGlyph(size_t bin_width, const TSeqRange &range, const THistogramVector &histogram, CHistogramGlyph::TMap &dmap)
mutex m_DataMutex
data access mutex
void Init(TGraphCachePool &icache_pool)
Save is invoked by CGraphCache when cached data needs to be permanently saved into NetCache.
void Save(TGraphCachePool &icache_pool)
Initializes the histogram map for a given range.
void GetHistogram(const TSeqRange &range, CHistogramGlyph::TMap &dmap) const
Sets the histogram data.
Writer-based output stream.
sparse vector de-serializer
void deserialize(SV &sv, const unsigned char *buf, bool clear_sv=true)
Serialize sparse vector into a memory buffer(s) structure.
bool is_xor_ref() const noexcept
Returns the XOR reference compression status (enabled/disabled)
void serialize(const SV &sv, sparse_vector_serial_layout< SV > &sv_layout)
Serialize sparse vector into a memory buffer(s) structure.
void enable_xor_compression() noexcept
Enable XOR compression on vector serialization.
bool empty() const noexcept
return true if vector is empty
void optimize(bm::word_t *temp_block=0, typename bvector_type::optmode opt_mode=bvector_type::opt_compress, typename sparse_vector< Val, BV >::statistics *stat=0)
run memory optimization for all vector planes
const_iterator end() const
const_iterator find(const key_type &key) const
string GetHexSum(void) const
Return string with checksum in hexadecimal form.
void AddLine(const char *line, size_t len)
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
range(_Ty, _Ty) -> range< _Ty >
const struct ncbi::grid::netcache::search::fields::KEY key
Defines a portable execute class.
Reader-writer based streams.
layout class for serialization buffer structure
const unsigned char * buf() const noexcept
Return serialization buffer pointer.
size_t size() const noexcept
return current serialized size