{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "",
    "ClosedDate": null,
    "CommentCount": 0,
    "Custom": null,
    "Description": "I am using DotNetZip to compress an interactive stream, much like ssh with gzip compression. I use the FlushType.Sync flush mode to ensure new data is transmitted immediately. However, sync flush and the FlushType.Full both act exactly the same as FlushType.None. When I transmit a chunk of data, only part of it comes out at the other end. While debugging this issue, I tried older versions of DotNetZip, and found that it works perfectly with DotNetZip 1.7, but is broken in 1.8, 1.9, and 1.9.5. Version 1.7 doesn't have the FlushType enum, so there, I set FlushMode to 2 (Z_SYNC_FLUSH) instead. Here are some excerpts from my code:\n \nIN CONSTRUCTOR:\nsendStream = new DeflateStream(stream, CompressionMode.Compress, CompressionLevel.BEST_COMPRESSION, true);\nsendStream.FlushMode = FlushType.Sync;\n \nSENDING DATA:\nprotected override void SendData(byte[] data) {\n\tsendStream.Write(data, 0, data.Length);\n}\n \nRECEIVING DATA:\nprotected override int ReceiveData(byte[] buffer) {\n\tint byteCount;\n \n\tbyteCount = receiveStream.Read(buffer, 0, buffer.Length);\n\treturn byteCount;\n}",
    "LastUpdatedDate": "2013-02-21T18:43:18.303-08:00",
    "PlannedForRelease": "",
    "ReleaseVisibleToPublic": false,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2011-02-02T19:42:24.07-08:00",
    "Status": {
      "Name": "Proposed",
      "Id": 1
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "DeflateStream FlushMode  doesn't have any effect",
    "Type": {
      "Name": "Issue",
      "Id": 3
    },
    "VoteCount": 3,
    "Id": 12948
  },
  "FileAttachments": [],
  "Comments": []
}