THRIFT-2013: update docker for artful (go back to lua 5.2) and enhance
cpp client to send 0,1,2,4,8,...,131072 size binary tests, this exposed
problems in the erl and rs servers and those tests have been disabled for now.
diff --git a/lib/netcore/Thrift/Thrift.csproj b/lib/netcore/Thrift/Thrift.csproj
index 3725d7b..e806fed 100644
--- a/lib/netcore/Thrift/Thrift.csproj
+++ b/lib/netcore/Thrift/Thrift.csproj
@@ -22,6 +22,7 @@
     <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="[2.0,)" />
     <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="[2.0,)" />
     <PackageReference Include="System.IO.Pipes" Version="[4.3,)" />
+    <PackageReference Include="System.Net.Http.WinHttpHandler" Version="4.4.0" />
     <PackageReference Include="System.Net.NameResolution" Version="[4.3,)" />
     <PackageReference Include="System.Net.Requests" Version="[4.3,)" />
     <PackageReference Include="System.Net.Security" Version="[4.3,)" />
diff --git a/lib/rs/src/transport/socket.rs b/lib/rs/src/transport/socket.rs
index a6f780a..727bba3 100644
--- a/lib/rs/src/transport/socket.rs
+++ b/lib/rs/src/transport/socket.rs
@@ -156,7 +156,7 @@
 
 impl Write for TTcpChannel {
     fn write(&mut self, b: &[u8]) -> io::Result<usize> {
-        self.if_set(|s| s.write(b))
+        self.if_set(|s| s.write_all(b)).map(|_| b.len())
     }
 
     fn flush(&mut self) -> io::Result<()> {