Kovri: remove i2pd's endian, replace with ByteStream + Boost.Endian #809
Conversation
This is entirely kovri code.
plus related refactoring.
Removes i2pd's native-endian read implementation Note: i2pd's free function call design procured spaghetti code. This commit does not resolve that design issue but a bytstream refactor will. See the TODOs regarding bytestream refactor.
Removes i2pd's big/native-endian write implementation Note: i2pd's free function call design procured spaghetti code. This commit does not resolve that design issue but a bytstream refactor will. See the TODOs regarding bytestream refactor.
Live tests and unit-tests pass on BE and LE machines (tested on Linux/FreeBSD/Windows). |
OpenBSD and OS X apparently want to |
Great changes. From what I've found so far, it looks like the ambiguous call error may be coming from the templated Read and Write functions. There are multiple Not sure what the right solution would be. Maybe replacing:
with
Then perhaps doing something similar for |
The build failures exposed pre-existing kovri type issues. I've fixed those issues and now the build is resolved (casting is not the way to resolve the issue). |
|
Resolved. Also amended |
7f5f51b Kovri: replace glic endian conversion with boost.endian (anonimal) 944264d Kovri: finish the removal of i2pd's endian impl (anonimal) 7a12f4e Kovri: implement big/native-endian bytestream write (anonimal) dea57f7 ByteStream: implement optional endian conversion (anonimal) b988ea7 InputByteStream: add docs to readers (anonimal) 9a30188 OutputByteStream: add write wrapper + static writer (anonimal) ffb2fff Kovri: implement native-endian bytestream read (anonimal) 2809972 ByteStream: simplify boost address to vector impl (anonimal) df94728 ByteStream: virtual dtors for I/O base cases + explicit ctors (anonimal) 889f3ed ByteStream: implement I/O base class + related I/O refactor (anonimal) 3d704a1 ClientDestination: implement bytestream in Data message handler (anonimal) f0c8acd InputByteStream: add read wrapper + static reader (anonimal) 65cdc73 InputByteStream: add new getters/members (anonimal) 7900b7e ByteStream: cpplint/clang-format/style check-in (anonimal) 5d421dd ByteStream: fix copyright dates (anonimal)
By submitting this pull-request, I confirm the following:
Resolves #772. References #140. Referencing #511 #643 among others (see the TODOs).