• G
    Communication Framework: Receiving · 4664680c
    Goldwyn Rodrigues 提交于
    1. receive status
    
       sender                         receiver                   receiver
       ACK:CR                          ACK:CR                     ACK:CR
    
    2. sender get EX of TOKEN
       sender get EX of MESSAGE
       sender                          receiver                   receiver
       TOKEN:EX                         ACK:CR                     ACK:CR
       MESSAGE:EX
       ACK:CR
    
    3. sender write LVB.
       sender down-convert MESSAGE from EX to CR
       sender try to get EX of ACK
       [ wait until all receiver has *processed* the MESSAGE ]
    
                                         [ triggered by bast of ACK ]
                                         receiver get CR of MESSAGE
                                         receiver read LVB
                                         receiver processes the message
    				     [ wait finish ]
                                         receiver release ACK
    
       sender                         receiver                   receiver
       TOKEN:EX                       MESSAGE:CR                 MESSAGE:CR
       MESSAGE:CR
       ACK:EX
    
    4. sender down-convert ACK from EX to CR
       sender release MESSAGE
       sender release TOKEN
    				  receiver upconvert to EX of MESSAGE
                                      receiver get CR of ACK
    				  receiver release MESSAGE
    
       sender                        receiver                   receiver
       ACK:CR                         ACK:CR                     ACK:CR
    Signed-off-by: NLidong Zhong <lzhong@suse.com>
    Signed-off-by: NGoldwyn Rodrigues <rgoldwyn@suse.com>
    4664680c
md-cluster.c 14.0 KB