tree c04fbe97b0d01d200788bbae7f68d9e96c4d77dc
parent 1f5ec95f02af9cc391c3c90df84be9f4420ed88d
author Andrei Litvin <andrei@andy314.com> 1638549177 -0500
committer GitHub <noreply@github.com> 1638549177 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhqka5CRBK7hj4Ov3rIwAAanMIAJuCoLBVZt4EtinXb6YvRgV2
 tMReIVXL0gyh3+xX4M5UxlRxKipN0wBqowoDS3P1SkHYpUCQlv1KwWTga9L/CuJ2
 S0sPS7mCz5Fthx9lWYhhcH/16fjI4eW9XNpRqHeyeEAeRdRS7uqfcgiKcquD3c9u
 qlq8hoWTBL+NvpljBzX8e30i2jgVb7CzkMu7mI3Zfl2mFHHZDCKwjrCggD8paL2z
 WOzPUwdRuczSqYHviDMaUw6GIuRi4/fX/0Go+Ua9mbuGT8F1IOe49pZFWzhuQty6
 udDVBUalkdXqBrvQp+Jumlxu+zpEo7HTy3Ee+oyrmDMW2ieYYcNjjvMDMT30H2Q=
 =EEXR
 -----END PGP SIGNATURE-----
 

Implement QName compression in minmdns (#12445)

* Revamp constants: qname length constant is NOT used

* First pass on an indirection  to use a dedicated writer. No test updates yet nor functionality

* Updates to use the record writer, more tests pass now

* Compressed writer with unit tests

* Fix memory leak in UDP responders when a multicast join fails

* Add a harder unit test

* Make the complex reuse also validate that we can write things other than qnames

* Compression applied on all answers (no queries yet)

* Prepare to make query writing do compression as well, add more unit tests to qname writing

* Record compression for writing serialized qnames as well. Tested that query compression on replies is done

* Fix unit tests for resource records for writing QName compression

* Code review comments, fix android compile

* Fix test advertiser to consider the entire valid packet range when validating (for qname compression support)

* Only remember non-fully compressed  qnames

* Address some  code review comments

* Add a fit validation for response building

* update the code to have RecordWriter be more transparent/easier to use in put statements