CCI / cci

Other
25 stars 8 forks source link

Direct connect model #5

Closed scottatchley closed 12 years ago

scottatchley commented 13 years ago

Remove (for now) the connect to service model.

Each endpoint has a name that can be passed out-of-band to a client. The client passes the name to cci_connect() for the server_uri. There is no port since the connect is driectly to the named endpoint.

In this model, every endpoint can receive connection requests. The connection request has been converted to a CCI event and added to the cci_event_t union.

After receiving a connection request event, the application decides to accept or reject. It then passes the conn_req to either cci_accept() which returns a new connection or it passes it to cci_reject(). Both will reliably reply to the client.

The connection request event must still be returned to CCI using cci_return_event().

Remove service related items from internal lib types.

NOTE: This changes only the CCI core level. Each driver and the tests will need to be updated.

dillow commented 13 years ago

I'm good with the idea, though we must revisit the lack of binding soon. It looks like the branch will need to be rebased, and there are some typos in the commit message. Would like to see shorter names for the event types and fields: cci_event_connect_accepted_t ==> cci_event_accepted_t, etc, though that could be debatable.

rminnich commented 12 years ago

I'm good with this. It will help me a bit on blue gene.

scottatchley commented 12 years ago

Ok, I will close this pull request and create a new one to fix typos, shorten names, and I will move the event union around first to make this change easier to view.