FYI, sender sets an alarm (10 secs) before calling receive() for ACK event. If there is <br>no ACK event in 10 secs, sender will receive a SIG_ALARM signal and signal handler<br>&nbsp;will be invoked. In the signal handler, sender uses siglongjmp() to jump back to<br>&nbsp;resend event logic.<br><br>Is there any problem with this logic? Doe siglongjmp make sender fail to receive ACK<br>&nbsp;event even after the receiver become alive?<br><br>Is there any more elegant way to make sender to regain CPU from being blocked in <br>receive() if there is no ACK event in a centain period of time?<br><div>&nbsp;<br>Thanks in advance!<br></div><div>&nbsp;</div><div style="padding: 2px 0pt; font-size: 12px; font-family: Arial Narrow;">------------------&nbsp;原始邮件&nbsp;------------------</div><div style="font-size: 12px;"><div id="menu_sender"><b>发件人:</b>&nbsp;"Alexey Zakhlestin"&lt;indeyets@gmail.com&gt;;</div><div><b>发送时间:</b>&nbsp;2008年10月23日(星期四) 凌晨0:28</div><div><b>收件人:</b>&nbsp;"lzhshen"&lt;29585543@qq.com&gt;; </div><div><b>抄送:</b>&nbsp;"spread-users"&lt;spread-users@lists.spread.org&gt;; </div><div><b>主题:</b>&nbsp;Re: [Spread-users] how does Spread make sure that the event is successfully delivered to the subscriber?</div></div><div>&nbsp;</div>
<div style="font-weight: normal;">
On Wed, Oct 22, 2008 at 12:58 PM, lzhshen &lt;29585543@qq.com&gt; wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; When the event publisher sends the event to Spread and the subscriber<br>&gt; lose the connection with Spread, will this event be lost forever? Will<br>&gt; Spread sends the same event to the subscriber when it connects to Spread<br>&gt; again?<br><br>it won't.<br>this kind of logic is supposed to be implemented on application-level.<br><br>think of spreas as of "UDP". if you need to verify delievery, you have<br>to implement "TCP" on top of it<br><br>-- <br>Alexey Zakhlestin<br>http://blog.milkfarmsoft.com/</div>