@@ -273,18 +273,6 @@ impl<H> Future for Pipe<H> where H: PacketHandler + 'static {
273
273
loop {
274
274
let client_read =self . client_reader . read ( ) ;
275
275
276
- // if the client connection has closed, close the server connection too
277
- match & client_read{
278
- & Err ( ref e) =>{
279
- debug ! ( "Client closed connection: {}" , e) ;
280
- match self . server_writer . stream . shutdown ( Shutdown :: Write ) {
281
- Ok ( _) =>{ } ,
282
- Err ( _) =>{ }
283
- }
284
- } ,
285
- _ =>{ }
286
- }
287
-
288
276
// process buffered requests
289
277
while let Some ( request) =self . client_reader . next ( ) {
290
278
match self . handler . handle_request ( & request) {
@@ -306,18 +294,6 @@ impl<H> Future for Pipe<H> where H: PacketHandler + 'static {
306
294
// try reading from server
307
295
let server_read =self . server_reader . read ( ) ;
308
296
309
- // if the server connection has closed, close the client connection too
310
- match & server_read{
311
- & Err ( ref e) =>{
312
- debug ! ( "Server closed connection: {}" , e) ;
313
- match self . client_writer . stream . shutdown ( Shutdown :: Write ) {
314
- Ok ( _) =>{ } ,
315
- Err ( _) =>{ }
316
- }
317
- } ,
318
- _ =>{ }
319
- }
320
-
321
297
// process buffered responses
322
298
while let Some ( response) =self . server_reader . next ( ) {
323
299
match self . handler . handle_response ( & response) {
@@ -342,9 +318,33 @@ impl<H> Future for Pipe<H> where H: PacketHandler + 'static {
342
318
// try writing to client
343
319
let client_write =self . client_writer . write ( ) ;
344
320
321
+ // if the server connection has closed, close the client connection too
322
+ match & server_read{
323
+ & Err ( ref e) =>{
324
+ debug ! ( "Server closed connection: {}" , e) ;
325
+ match self . client_writer . stream . shutdown ( Shutdown :: Write ) {
326
+ Ok ( _) =>{ } ,
327
+ Err ( _) =>{ }
328
+ }
329
+ } ,
330
+ _ =>{ }
331
+ }
332
+
345
333
// try writing to server
346
334
let server_write =self . server_writer . write ( ) ;
347
335
336
+ // if the client connection has closed, close the server connection too
337
+ match & client_read{
338
+ & Err ( ref e) =>{
339
+ debug ! ( "Client closed connection: {}" , e) ;
340
+ match self . server_writer . stream . shutdown ( Shutdown :: Write ) {
341
+ Ok ( _) =>{ } ,
342
+ Err ( _) =>{ }
343
+ }
344
+ } ,
345
+ _ =>{ }
346
+ }
347
+
348
348
try_ready ! ( client_read) ;
349
349
try_ready ! ( client_write) ;
350
350
try_ready ! ( server_read) ;