On Sun, Aug 31, 2003, Robert Collins wrote: > > If you want to use the async io code rom anywhere, say, logfile writing, > > you're _going_ to have to do write combining or your write queue is going > > to quickly blow out to a stupid size. The store IO interface really assures > > us there's only one outstanding write per object at a time, unless > > something whacked has change which I haven't yet picked up on. > > This isn't the store IO interface. Each DiskFile can have multiple > outstanding requests, both read or write. This is a requirement of COSS.
Ah, yes, of course it'll have to. > Nope. That is a user-of-the-interface problem, it's not appropriate to > force the interface to police this. > > We can certainly provide a write-combining Decorator though. > Conceptually such a layer would: > wrap the IOStrategy to return a decorated instance. > wrap the DiskFile objects to intercept write's. > Queue writes per File in memory, and when callback() is called, flush > the queue to the real objects. > > Maybe 200 lines of code for the interested. *nod* it'll still have to be done, else your write queues will start filling and very quickly. adrian
