| 201 | } |
| 202 | |
| 203 | std::unique_ptr<inbound_frame_processor> decryptor::get_or_create_frame_processor() |
| 204 | { |
| 205 | std::lock_guard<std::mutex> lock(frame_processors_mutex); |
| 206 | if (frame_processors.empty()) { |
| 207 | return std::make_unique<inbound_frame_processor>(creator); |
| 208 | } |
| 209 | auto frame_processor = std::move(frame_processors.back()); |
| 210 | frame_processors.pop_back(); |
| 211 | return frame_processor; |
| 212 | } |
| 213 | |
| 214 | void decryptor::return_frame_processor(std::unique_ptr<inbound_frame_processor> frame_processor) |
| 215 | { |