<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 2010-10-25, at 7:51 AM, Mircea Markus wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I've created <a href="https://jira.jboss.org/browse/ISPN-731">https://jira.jboss.org/browse/ISPN-731</a><div><a href="https://jira.jboss.org/browse/ISPN-731"></a>Vladimir, mind taking a look into this one as you're familiar with the code re:state transfer?</div><div><div><div><br></div><blockquote type="cite"><div><blockquote type="cite">Can't we factorize the code common Leave and Join code and still use a single thread to do all the action? There's no point in using two threads that run in sequence (unless they do some parallel processing?).<br></blockquote><br>Umm, nope. :) One is a push and one is a pull. Very different.</div></blockquote>Can't we just do push and no push(xor pull)? I guess my basic question is: what do we get by doing both push and pull at the same time? Any operation happening in parallel which would make things faster? </div><div><font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#144FAE"><br></font></font></div></div></div></blockquote><br></div><div>Mircea, Have a look at the old LeaveTask.java. Pushing state on leave is complicated! Hence InvertedLeaveTask.java which pulls state just like join task. We share a lot of code with JoinTask, it is easier to maintain, comprehend etc etc. </div></body></html>