@@ -201,12 +201,10 @@ void ReliableStreamConnection::on_cancellable_cancel(
201201// Send Path
202202//
203203
204- bool ReliableStreamConnection::reset (bool random_session_id, WallDuration timeout){
204+ bool ReliableStreamConnection::reset (WallDuration timeout){
205205 {
206206 std::lock_guard<Mutex> lg (m_lock);
207- if (!random_session_id){
208- m_reliable_sender.reset (0xffffffff );
209- }else if (m_reliable_sender.session_id () == 0xffffffff ){
207+ if (m_reliable_sender.session_id () == 0xffffffff ){
210208 m_reliable_sender.reset (random_u32 ());
211209 }else {
212210 m_reliable_sender.reset (m_reliable_sender.session_id () + 1 );
@@ -215,11 +213,7 @@ bool ReliableStreamConnection::reset(bool random_session_id, WallDuration timeou
215213 m_parser.reset ();
216214 m_stream_coalescer.reset ();
217215 throw_if_cancelled ();
218- if (random_session_id){
219- m_reliable_sender.send_reset ();
220- }else {
221- m_reliable_sender.send_packet (PABB2_CONNECTION_OPCODE_ASK_RESET , 0 , nullptr );
222- }
216+ m_reliable_sender.send_reset ();
223217 }
224218 m_cv.notify_all ();
225219 return wait_for_pending (timeout);
@@ -267,10 +261,10 @@ void ReliableStreamConnection::send_ack(uint8_t seqnum, uint8_t opcode){
267261 pabb_crc32_write_to_message (m_reliable_sender.session_id (), &packet, sizeof (packet));
268262 unreliable_send (&packet, sizeof (packet));
269263}
270- void ReliableStreamConnection::send_ack_u16 (uint8_t seqnum, uint8_t opcode, uint16_t data){
264+ void ReliableStreamConnection::send_ack_u32 (uint8_t seqnum, uint8_t opcode, uint32_t data){
271265 // Must call inside lock.
272266 struct {
273- PacketHeader_u16 header;
267+ PacketHeader_u32 header;
274268 uint8_t crc[sizeof (uint32_t )];
275269 } packet;
276270 packet.header .magic_number = PABB2_CONNECTION_MAGIC_NUMBER ;
@@ -414,8 +408,6 @@ void ReliableStreamConnection::on_packet(const PacketHeader* packet){
414408 case PABB2_CONNECTION_OPCODE_INFO_STREAM_SEND_FULL :
415409 case PABB2_CONNECTION_OPCODE_INFO_STREAM_RECV_FULL :
416410 case PABB2_CONNECTION_OPCODE_INFO :
417- case PABB2_CONNECTION_OPCODE_INFO_U8 :
418- case PABB2_CONNECTION_OPCODE_INFO_U16 :
419411 case PABB2_CONNECTION_OPCODE_INFO_H32 :
420412 case PABB2_CONNECTION_OPCODE_INFO_U32 :
421413 case PABB2_CONNECTION_OPCODE_INFO_I32 :
@@ -440,13 +432,13 @@ void ReliableStreamConnection::on_packet(const PacketHeader* packet){
440432}
441433void ReliableStreamConnection::process_UNKNOWN_OPCODE (const PacketHeader* packet){
442434 std::lock_guard<Mutex> lg (m_lock);
443- if (packet->packet_bytes < sizeof (PacketHeader_u8 ) + sizeof (uint32_t )){
435+ if (packet->packet_bytes < sizeof (PacketHeader_u32 ) + sizeof (uint32_t )){
444436 m_error = " Unknown opcode packet is too small: " + std::to_string (packet->packet_bytes );
445437 m_logger.log (" [RSC]: " + m_error, COLOR_RED );
446438 return ;
447439 }
448440
449- const PacketHeader_u8 * message = (const PacketHeader_u8 *)packet;
441+ const PacketHeader_u32 * message = (const PacketHeader_u32 *)packet;
450442 m_logger.log (
451443 " [RSC]: PABB2_CONNECTION_OPCODE_INVALID_OPCODE: Device reported an invalid opcode: " +
452444 std::to_string (message->data ),
@@ -493,14 +485,14 @@ void ReliableStreamConnection::process_RET_VERSION(const PacketHeader* packet){
493485 m_cv.notify_all ();
494486}
495487void ReliableStreamConnection::process_RET_PACKET_SIZE (const PacketHeader* packet){
496- if (packet->packet_bytes < sizeof (PacketHeader_u16 ) + sizeof (uint32_t )){
488+ if (packet->packet_bytes < sizeof (PacketHeader_u32 ) + sizeof (uint32_t )){
497489 m_logger.log (
498490 " [RSC]: Packet size response is too small: " + std::to_string (packet->packet_bytes ),
499491 COLOR_RED
500492 );
501493 return ;
502494 }
503- const PacketHeader_u16 * message = (const PacketHeader_u16 *)packet;
495+ const PacketHeader_u32 * message = (const PacketHeader_u32 *)packet;
504496 m_logger.log (
505497 " [RSC]: Setting Packet Size: " + std::to_string (message->data ) + " bytes" ,
506498 COLOR_BLUE
@@ -513,14 +505,14 @@ void ReliableStreamConnection::process_RET_PACKET_SIZE(const PacketHeader* packe
513505 m_cv.notify_all ();
514506}
515507void ReliableStreamConnection::process_RET_BUFFER_SLOTS (const PacketHeader* packet){
516- if (packet->packet_bytes < sizeof (PacketHeader_u8 ) + sizeof (uint32_t )){
508+ if (packet->packet_bytes < sizeof (PacketHeader_u32 ) + sizeof (uint32_t )){
517509 m_logger.log (
518510 " [RSC]: Buffer slot response is too small: " + std::to_string (packet->packet_bytes ),
519511 COLOR_RED
520512 );
521513 return ;
522514 }
523- const PacketHeader_u8 * message = (const PacketHeader_u8 *)packet;
515+ const PacketHeader_u32 * message = (const PacketHeader_u32 *)packet;
524516 {
525517 std::lock_guard<Mutex> lg (m_lock);
526518 m_reliable_sender.remove (packet->seqnum );
@@ -533,14 +525,14 @@ void ReliableStreamConnection::process_RET_BUFFER_SLOTS(const PacketHeader* pack
533525 m_cv.notify_all ();
534526}
535527void ReliableStreamConnection::process_RET_BUFFER_BYTES (const PacketHeader* packet){
536- if (packet->packet_bytes < sizeof (PacketHeader_u16 ) + sizeof (uint32_t )){
528+ if (packet->packet_bytes < sizeof (PacketHeader_u32 ) + sizeof (uint32_t )){
537529 m_logger.log (
538530 " [RSC]: Buffer slot response is too small: " + std::to_string (packet->packet_bytes ),
539531 COLOR_RED
540532 );
541533 return ;
542534 }
543- const PacketHeader_u16 * message = (const PacketHeader_u16 *)packet;
535+ const PacketHeader_u32 * message = (const PacketHeader_u32 *)packet;
544536 {
545537 std::lock_guard<Mutex> lg (m_lock);
546538 m_reliable_sender.remove (packet->seqnum );
@@ -570,7 +562,7 @@ void ReliableStreamConnection::process_ASK_STREAM_DATA(const PacketHeader* packe
570562// cout << "Calling: send_ack_u16()" << endl;
571563 {
572564 std::lock_guard<Mutex> lg (m_lock);
573- send_ack_u16 (
565+ send_ack_u32 (
574566 packet->seqnum ,
575567 PABB2_CONNECTION_OPCODE_RET_STREAM_DATA ,
576568 m_stream_coalescer.free_bytes ()
0 commit comments