MCPcopy Create free account
hub / github.com/catboost/catboost / TMappedBlobBase

Method TMappedBlobBase

util/memory/blob.cpp:108–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

106
107public:
108 inline TMappedBlobBase(const TMemoryMap& map, ui64 offset, size_t len, EMappingMode mode)
109 : Map_(map)
110 , Mode_(mode)
111 {
112 Y_ENSURE(Map_.IsOpen(), TStringBuf("memory map not open"));
113
114 Map_.Map(offset, len);
115
116 if (len && !Map_.Ptr()) { // Ptr is 0 for blob of size 0
117 ythrow yexception() << "can not map(" << offset << ", " << len << ")";
118 }
119
120 if (Mode_ == EMappingMode::Locked) {
121 LockMemory(Data(), Length());
122 }
123 }
124
125 ~TMappedBlobBase() override {
126 if (Mode_ == EMappingMode::Locked && Length()) {

Callers

nothing calls this directly

Calls 6

LockMemoryFunction · 0.85
LengthClass · 0.85
DataClass · 0.50
IsOpenMethod · 0.45
MapMethod · 0.45
PtrMethod · 0.45

Tested by

no test coverage detected