Fixed: missing socket factory case was causing data transfer stats to be
skipped
Fixed: for performance - read/write directly to underlying Input/OutputStream, not via
FilterInput/OutputStream functions