Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mirage/mirage
base: 66f5fd9184c5
Choose a base ref
...
head repository: mirage/mirage
compare: a3af1e7c57df
Choose a head ref
  • 2 commits
  • 1 file changed
  • 2 contributors

Commits on Jan 30, 2016

  1. Clarify the meaning of FLOW.close

    This patch extends the description of `FLOW.close` to include discussion
    of the flow state when one side has called `FLOW.close` and the other
    has not.
    
    Hopefully this is not actually a change in intended meaning, as the
    mirage tcp/ip stack already behavies this way: `FLOW.close` is
    implemented by sending a `FIN` to the peer which terminates only one
    side of the full-duplex connection. When the peer finishes transmitting
    all of its data -- at some arbitrary later date -- it will also send a `FIN`
    to close the remainder of the connection.
    
    `FLOW.close` means I will not call `write` again, so the peer can
    receive `Eof` once it has read all pending/buffered data. This patch
    clarifies that, after calling `close`, I can still call `read` to
    read data being written by the other side, until the other side also
    calls `close`.
    
    `FLOW.close` is a handshake with the peer: when the peer also calls
    `FLOW.close`, both threads unblock and resources associated with the
    connection can be freed.
    
    Signed-off-by: David Scott <dave.scott@docker.com>
    djs55 committed Jan 30, 2016
    Copy the full SHA
    caf220e View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2016

  1. Merge pull request #486 from djs55/clarify-flow-close

    Clarify the meaning of `FLOW.close`
    samoht committed Feb 17, 2016
    Copy the full SHA
    a3af1e7 View commit details
    Browse the repository at this point in the history