On Oct 9, 2007, at 7:42 AM, Scott Atchley wrote:

On Oct 8, 2007, at 2:50 PM, Sam Lang wrote:

I am not sure what you are proposing that bmi_method_addr_forget_callback() do.

bmi_method_addr_reg_callback is called at mx.c:2290, in icon_ack, where peer->mxp_exist is set to 1. It doesn't look like that variable is used (checked or set) anywhere else.

Correct. This is used on the server only and is used to prevent bmi_mx to register the same client twice.

Does cleanup/shutdown of that peer ever occur?

Cleanup (freeing of data structures, etc.) only occurs at the direction of BMI via BMI_set_info(DROP_ADDR).

If the client stops communicating and the server has no outstanding requests posted, the client's status will forever remain BMX_PEER_READY (i.e. connected).

If the client stops communicating and the server has outstanding requests, those requests will time out and the peer status will be changed to BMX_PEER_DISCONNECT. The server will maintain the various data structures (128 bytes plus the lengths of the peername, the mx:// URI, and the hostname).

Is it this case that you want the BMI method to notify BMI with bmi_method_addr_forget_callback? Or in both cases?

It sounds like it only needs to call the forget_callback in finalize for all the peers it knows about.


Assuming the client is gone forever and assuming that it disappeared unexpectedly (the server had pending requests), then this will free the 128+ bytes in bmi_mx used for that client.

When a client intends to stop communicating with a server, does it send some kind of goodbye message to the server? If so, does the server call BMI_set_info(DROP_ADDR)?

In the case of tcp, the socket is closed. The server doesn't call BMI_set_info because notification of the disconnect is within the method. This is why the callback is necessary.

-sam


Also, is it possible for the same client node to appear as multiple different peers to the server node? It sounds like the answer is no, but I just want to make sure.

-sam

You are correct.

Scott


_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to