3 flush \- abort a message
15 When the response to a request is no longer needed, such as when
16 a user interrupts a process doing a
20 request is sent to the server to purge the pending response.
21 The message being flushed is identified by
25 depends on messages arriving in order.
27 The server should answer the
32 as the tag of a pending transaction, it should abort any pending response
34 In either case, it should respond with an
45 can never be responded to by an
49 The server may respond to the pending request before
52 It is possible for a client to send multiple
54 messages for a particular pending request. Each
59 the tag of the pending request (not a previous
63 be received for a pending request, they must be answered in
66 for any of the multiple
68 implies an answer for all previous ones. Therefore, should
69 a server receive a request and then multiple flushes for that
70 request, it need respond only to the last flush.
72 When the client sends a
74 it must wait to receive the corresponding
78 for subsequent messages.
79 If a response to the flushed request is received before the
81 the client must honor the response
82 as if it had not been flushed,
83 since the completed request may signify a state change in the server.
86 may have created a file and
88 may have allocated a fid.
89 If no response is received before the
91 the flushed transaction is considered to have been canceled,
92 and should be treated as though it had never been sent.
94 Several exceptional conditions are handled correctly by the above specification:
95 sending multiple flushes for a single tag,
96 flushing after a transaction is completed,
99 and flushing an invalid tag.
103 library does not generate
109 transactions to cancel transactions pending when a client hangs up.