| 286 | } |
| 287 | |
| 288 | void crypto_receive_buffer::crypto_reset(int packet_size) |
| 289 | { |
| 290 | TORRENT_ASSERT(packet_finished()); |
| 291 | TORRENT_ASSERT(crypto_packet_finished()); |
| 292 | TORRENT_ASSERT(m_recv_pos == INT_MAX || m_recv_pos == m_connection_buffer.pos()); |
| 293 | TORRENT_ASSERT(m_recv_pos == INT_MAX || m_connection_buffer.pos_at_end()); |
| 294 | |
| 295 | if (packet_size == 0) |
| 296 | { |
| 297 | if (m_recv_pos != INT_MAX) |
| 298 | m_connection_buffer.cut(0, m_packet_size); |
| 299 | m_recv_pos = INT_MAX; |
| 300 | } |
| 301 | else |
| 302 | { |
| 303 | if (m_recv_pos == INT_MAX) |
| 304 | m_packet_size = m_connection_buffer.packet_size(); |
| 305 | m_recv_pos = m_connection_buffer.pos(); |
| 306 | TORRENT_ASSERT(m_recv_pos >= 0); |
| 307 | m_connection_buffer.cut(0, m_recv_pos + packet_size); |
| 308 | } |
| 309 | } |
| 310 | |
| 311 | int crypto_receive_buffer::advance_pos(int bytes) |
| 312 | { |
no test coverage detected