TdiSend

Greetings!!
I have a question on TdiSend on Win98. Scenario is: my TDI client establishes connection to remote node and then connection is lost, (transport does not notify me with disconnect event, for example I just unplug net cable). And after that I issue TdiSend. Well DDK states that TdiSend does not complete until remote node acknowledged all data. So my thread hangs frozen and only about 1 minute (!!!) I receive disconnect event and TdiSend completes… So my question is - how should I handle this situation? Is there a way to set some total timeout for sending data (like in TdiConnect and TdiDisconnect)? Or is it possible to cancel TdiSend request after it was issued?

Thanks in advance!!

P.S.
By the way in NT version of my driver the same scenario leads to disconnect event after about 5 seconds…


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

It is very strange that TCP does not do TDI_DISCONNECT_ABORT event on adapter being down.
I will test this soon and tell the result to you :slight_smile:

The TCP timeout depends on time spent while connection handshake. Surely if no ACK will arrive during some timeout, TCP must break the connection by TDI_DISCONNECT_ABORT event and fail all pending TDI_SENDs.

Max

----- Original Message -----
From: Vovkos
To: NT Developers Interest List
Sent: Sunday, December 09, 2001 2:00 AM
Subject: [ntdev] TdiSend

Greetings!!
I have a question on TdiSend on Win98. Scenario is: my TDI client establishes connection to remote node and then connection is lost, (transport does not notify me with disconnect event, for example I just unplug net cable). And after that I issue TdiSend. Well DDK states that TdiSend does not complete until remote node acknowledged all data. So my thread hangs frozen and only about 1 minute (!!!) I receive disconnect event and TdiSend completes… So my question is - how should I handle this situation? Is there a way to set some total timeout for sending data (like in TdiConnect and TdiDisconnect)? Or is it possible to cancel TdiSend request after it was issued?

Thanks in advance!!

P.S.
By the way in NT version of my driver the same scenario leads to disconnect event after about 5 seconds…

You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I used to set timeout to KeWait… and sent IoCancelIrp when it expired.
Worked ok on NT4 ant 2K…
----- Original Message -----
From: Vovkos
To: NT Developers Interest List
Sent: Saturday, December 08, 2001 4:00 PM
Subject: [ntdev] TdiSend

Greetings!!
I have a question on TdiSend on Win98. Scenario is: my TDI client establishes connection to remote node and then connection is lost, (transport does not notify me with disconnect event, for example I just unplug net cable). And after that I issue TdiSend. Well DDK states that TdiSend does not complete until remote node acknowledged all data. So my thread hangs frozen and only about 1 minute (!!!) I receive disconnect event and TdiSend completes… So my question is - how should I handle this situation? Is there a way to set some total timeout for sending data (like in TdiConnect and TdiDisconnect)? Or is it possible to cancel TdiSend request after it was issued?

Thanks in advance!!

P.S.
By the way in NT version of my driver the same scenario leads to disconnect event after about 5 seconds…

You are currently subscribed to ntdev as: xxxxx@setengineering.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com