comment -Wno-unused-result
add ifndef declare in header files
prepare for ssl support, add transport_implementation struct
add ifndef declare in header file