[sheepdog] [disscuss] Design of Libsheepdog

Liu Yuan namei.unix at gmail.com
Sun Jun 30 16:58:05 CEST 2013


On Thu, Jun 27, 2013 at 12:01:45PM +0800, Kai Zhang wrote:
> 
> On Jun 27, 2013, at 11:45 AM, Liu Yuan <namei.unix at gmail.com> wrote:
> 
> > I believe sync API can be implemeted on top of async mechanism, in this way we
> > can easily introduce async API along with.
> 
> Good suggestion.
> 

I'd like to discuss more details about async infrastructure. What is your plan?
I think we can firstly implement read/write, also the most difficult ones.

What hanging around my head is something like following:
 - stream interface on top of datagram like transter such as
   - sd_vdi_{aread, awrite}(data, offset, length)
   - data are internally chucnked in object size and throttled as N requests at
     most, for e.g, allow 32 requests 
   - one thread sends the requests asyncly and one recieves the responses
	- every call of function will create its private request queue

There are open issues I can think of:
 - epoll is encapsulated internally in the lib or use host process's main loop?

Thanks
Yuan



More information about the sheepdog mailing list