THRIFT-2013: add multiplex server and client test support to cpp language
add multiplex client test support to csharp and java languages
fix a bug in the server-side header protocol factory
fix a bug in the cpp SSL server socket implementation
remove unnecessary sleep in cpp server testOneway

This closes #1414
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index eda5df0..ea194a1 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -1,38 +1,90 @@
 [
-  "cpp-cpp_binary_buffered-ip-ssl",
-  "cpp-cpp_binary_framed-ip-ssl",
+  "c_glib-csharp_multi-binary_buffered-ip",
+  "c_glib-csharp_multi-binary_framed-ip",
+  "c_glib-csharp_multi_buffered-ip",
+  "c_glib-csharp_multi_framed-ip",
+  "c_glib-csharp_multic_buffered-ip",
+  "c_glib-csharp_multic-compact_buffered-ip",
+  "c_glib-csharp_multic-compact_framed-ip",
+  "c_glib-csharp_multic_framed-ip",
+  "c_glib-rs_multi_buffered-ip",
+  "c_glib-rs_multi_framed-ip",
+  "c_glib-rs_multic_buffered-ip",
+  "c_glib-rs_multic_framed-ip",
   "cpp-cpp_binary_http-domain",
-  "cpp-cpp_binary_http-ip-ssl",
-  "cpp-cpp_compact_buffered-ip-ssl",
-  "cpp-cpp_compact_framed-ip-ssl",
-  "cpp-cpp_compact_http-ip-ssl",
-  "cpp-cpp_header_buffered-ip-ssl",
-  "cpp-cpp_header_framed-ip-ssl",
-  "cpp-cpp_header_http-ip-ssl",
-  "cpp-cpp_json_buffered-ip-ssl",
-  "cpp-cpp_json_framed-ip-ssl",
-  "cpp-cpp_json_http-ip-ssl",
+  "cpp-cpp_compact_http-domain",
+  "cpp-cpp_compact_http-ip",
+  "cpp-cpp_header_http-domain",
+  "cpp-cpp_json_http-domain",
+  "cpp-cpp_json_http-ip",
+  "cpp-cpp_multi-binary_http-domain",
+  "cpp-cpp_multi-binary_http-ip",
+  "cpp-cpp_multi_http-domain",
+  "cpp-cpp_multi_http-ip",
+  "cpp-cpp_multic-compact_http-domain",
+  "cpp-cpp_multic-compact_http-ip",
+  "cpp-cpp_multic_http-domain",
+  "cpp-cpp_multic_http-ip",
+  "cpp-cpp_multih-header_http-domain",
+  "cpp-cpp_multih-header_http-ip",
+  "cpp-cpp_multih_http-domain",
+  "cpp-cpp_multih_http-ip",
+  "cpp-cpp_multij-json_http-domain",
+  "cpp-cpp_multij-json_http-ip",
+  "cpp-cpp_multij_http-domain",
+  "cpp-cpp_multij_http-ip",
   "cpp-dart_binary_http-ip",
   "cpp-dart_compact_http-ip",
   "cpp-dart_json_http-ip",
+  "cpp-dart_multi-binary_http-ip",
+  "cpp-dart_multic-compact_http-ip",
+  "cpp-dart_multij-json_http-ip",
   "cpp-go_binary_http-ip",
   "cpp-go_binary_http-ip-ssl",
   "cpp-go_compact_http-ip",
   "cpp-go_compact_http-ip-ssl",
   "cpp-go_json_http-ip",
   "cpp-go_json_http-ip-ssl",
+  "cpp-go_multi-binary_http-ip",
+  "cpp-go_multi-binary_http-ip-ssl",
+  "cpp-go_multic-compact_http-ip",
+  "cpp-go_multic-compact_http-ip-ssl",
+  "cpp-go_multij-json_http-ip",
+  "cpp-go_multij-json_http-ip-ssl",
   "cpp-java_binary_http-ip",
   "cpp-java_binary_http-ip-ssl",
   "cpp-java_compact_http-ip",
   "cpp-java_compact_http-ip-ssl",
   "cpp-java_json_http-ip",
   "cpp-java_json_http-ip-ssl",
+  "cpp-java_multi-binary_http-ip",
+  "cpp-java_multi-binary_http-ip-ssl",
+  "cpp-java_multi_http-ip",
+  "cpp-java_multi_http-ip-ssl",
+  "cpp-java_multic-compact_http-ip",
+  "cpp-java_multic-compact_http-ip-ssl",
+  "cpp-java_multic_http-ip",
+  "cpp-java_multic_http-ip-ssl",
+  "cpp-java_multij-json_http-ip",
+  "cpp-java_multij-json_http-ip-ssl",
+  "cpp-java_multij_http-ip",
+  "cpp-java_multij_http-ip-ssl",
   "cpp-nodejs_binary_http-ip",
   "cpp-nodejs_binary_http-ip-ssl",
   "cpp-nodejs_compact_http-ip",
   "cpp-nodejs_compact_http-ip-ssl",
   "cpp-nodejs_json_http-ip",
   "cpp-nodejs_json_http-ip-ssl",
+  "cpp-nodejs_multi-binary_http-ip",
+  "cpp-nodejs_multi-binary_http-ip-ssl",
+  "cpp-nodejs_multic-compact_http-ip",
+  "cpp-nodejs_multic-compact_http-ip-ssl",
+  "cpp-nodejs_multij-json_http-ip",
+  "cpp-nodejs_multij-json_http-ip-ssl",
+  "cpp-rs_multi_buffered-ip",
+  "cpp-rs_multi_framed-ip",
+  "cpp-rs_multic_buffered-ip",
+  "cpp-rs_multic_framed-ip",
   "csharp-d_binary_buffered-ip-ssl",
   "csharp-d_binary_framed-ip-ssl",
   "csharp-d_compact_buffered-ip-ssl",
@@ -246,9 +298,19 @@
   "nodejs-netcore_json_framed-ip",
   "nodejs-netcore_json_framed-ip-ssl",
   "rs-csharp_binary_buffered-ip",
-  "rs-csharp_compact_buffered-ip",
   "rs-csharp_binary_framed-ip",
+  "rs-csharp_compact_buffered-ip",
   "rs-csharp_compact_framed-ip",
+  "rs-csharp_multi-binary_buffered-ip",
+  "rs-csharp_multi-binary_framed-ip",
+  "rs-csharp_multi_buffered-ip",
+  "rs-csharp_multi_framed-ip",
+  "rs-csharp_multic-compact_buffered-ip",
+  "rs-csharp_multic-compact_framed-ip",
+  "rs-csharp_multic_buffered-ip",
+  "rs-csharp_multic_framed-ip",
   "rs-dart_binary_framed-ip",
-  "rs-dart_compact_framed-ip"
+  "rs-dart_compact_framed-ip",
+  "rs-dart_multi-binary_framed-ip",
+  "rs-dart_multic-compact_framed-ip"
 ]