diff options
| author | levlam <levlam@telegram.org> | 2018-09-13 03:12:40 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2018-09-13 03:12:40 +0300 |
| commit | ed33e23c40f418d7aaa273a5a321f02d6820693c (patch) | |
| tree | d34dc5853179b141bf66fbe6bc332216ad873777 /td/telegram/SecureStorage.cpp | |
| parent | a4f98024a0ad6b180fcdb5fc4358c640ffb273df (diff) | |
Make pread and DataView const.
GitOrigin-RevId: 4267ba93a1e83be55361c9f284f717151eb740cd
Diffstat (limited to 'td/telegram/SecureStorage.cpp')
| -rw-r--r-- | td/telegram/SecureStorage.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/td/telegram/SecureStorage.cpp b/td/telegram/SecureStorage.cpp index 0f9b4e163..f0b441693 100644 --- a/td/telegram/SecureStorage.cpp +++ b/td/telegram/SecureStorage.cpp @@ -51,7 +51,7 @@ AesCbcState calc_aes_cbc_state_sha512(Slice seed) { } template <class F> -static Status data_view_for_each(DataView &data, F &&f) { +static Status data_view_for_each(const DataView &data, F &&f) { const int64 step = 128 << 10; for (int64 i = 0, size = data.size(); i < size; i += step) { TRY_RESULT(bytes, data.pread(i, min(step, size - i))); @@ -60,7 +60,7 @@ static Status data_view_for_each(DataView &data, F &&f) { return Status::OK(); } -Result<ValueHash> calc_value_hash(DataView &data_view) { +Result<ValueHash> calc_value_hash(const DataView &data_view) { Sha256State state; sha256_init(&state); data_view_for_each(data_view, [&state](BufferSlice bytes) { @@ -93,7 +93,7 @@ int64 FileDataView::size() const { return size_; } -Result<BufferSlice> FileDataView::pread(int64 offset, int64 size) { +Result<BufferSlice> FileDataView::pread(int64 offset, int64 size) const { auto slice = BufferSlice(narrow_cast<size_t>(size)); TRY_RESULT(actual_size, fd_.pread(slice.as_slice(), offset)); if (static_cast<int64>(actual_size) != size) { @@ -109,7 +109,7 @@ int64 BufferSliceDataView::size() const { return narrow_cast<int64>(buffer_slice_.size()); } -Result<BufferSlice> BufferSliceDataView::pread(int64 offset, int64 size) { +Result<BufferSlice> BufferSliceDataView::pread(int64 offset, int64 size) const { auto end_offset = size + offset; if (this->size() < end_offset) { return Status::Error("Not enough data in BufferSlice"); @@ -117,20 +117,20 @@ Result<BufferSlice> BufferSliceDataView::pread(int64 offset, int64 size) { return BufferSlice(buffer_slice_.as_slice().substr(narrow_cast<size_t>(offset), narrow_cast<size_t>(size))); } -ConcatDataView::ConcatDataView(DataView &left, DataView &right) : left_(left), right_(right) { +ConcatDataView::ConcatDataView(const DataView &left, const DataView &right) : left_(left), right_(right) { } int64 ConcatDataView::size() const { return left_.size() + right_.size(); } -Result<BufferSlice> ConcatDataView::pread(int64 offset, int64 size) { +Result<BufferSlice> ConcatDataView::pread(int64 offset, int64 size) const { auto end_offset = size + offset; if (this->size() < end_offset) { return Status::Error("Not enough data in ConcatDataView"); } - auto substr = [](DataView &slice, int64 offset, int64 size) -> Result<BufferSlice> { + auto substr = [](const DataView &slice, int64 offset, int64 size) -> Result<BufferSlice> { auto l = max(int64{0}, offset); auto r = min(slice.size(), offset + size); if (l >= r) { @@ -302,7 +302,7 @@ Result<ValueHash> Decryptor::finish() { return ValueHash{res}; } -Encryptor::Encryptor(AesCbcState aes_cbc_state, DataView &data_view) +Encryptor::Encryptor(AesCbcState aes_cbc_state, const DataView &data_view) : aes_cbc_state_(std::move(aes_cbc_state)), data_view_(data_view) { } @@ -310,7 +310,7 @@ int64 Encryptor::size() const { return data_view_.size(); } -Result<BufferSlice> Encryptor::pread(int64 offset, int64 size) { +Result<BufferSlice> Encryptor::pread(int64 offset, int64 size) const { if (offset != current_offset_) { return Status::Error("Arbitrary offset is not supported"); } |
