1 | /* |
2 | * Copyright (C) 2019 The Android Open Source Project |
3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. |
6 | * You may obtain a copy of the License at |
7 | * |
8 | * http://www.apache.org/licenses/LICENSE-2.0 |
9 | * |
10 | * Unless required by applicable law or agreed to in writing, software |
11 | * distributed under the License is distributed on an "AS IS" BASIS, |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | * See the License for the specific language governing permissions and |
14 | * limitations under the License. |
15 | */ |
16 | |
17 | #include "perfetto/protozero/static_buffer.h" |
18 | |
19 | #include "perfetto/base/logging.h" |
20 | |
21 | namespace protozero { |
22 | |
23 | StaticBufferDelegate::~StaticBufferDelegate() = default; |
24 | |
25 | ContiguousMemoryRange StaticBufferDelegate::GetNewBuffer() { |
26 | if (get_new_buffer_called_once_) { |
27 | // This is the 2nd time GetNewBuffer is called. The estimate is wrong. We |
28 | // shouldn't try to grow the buffer after the initial call. |
29 | PERFETTO_FATAL("Static buffer too small" ); |
30 | } |
31 | get_new_buffer_called_once_ = true; |
32 | return range_; |
33 | } |
34 | |
35 | } // namespace protozero |
36 | |