Hi Alan, Thanks for the reply.
I guess by chunk you mean a request to origin server. I dont get it why I will get two VConn close events due to chunks not consistent in size. I think they will only impact performace of read/write. Code Logic:- I have created a thread function for read/write/remove from cache.(i.e total 3 threads) I have presented one of the function threadcacheWrite(CacheHandler.cpp).This function runs in infinite loop. In each loop I check if there is a data in queue, I pop the data. I then create a cont and set the data retrieved from queue. Then I make a call to TSCacheWrite. Events for TS_EVENT_CACHE_OPEN_WRITE and TS_EVENT_VCONN_WRITE_COMPLETE are getting called correctly as expected. But for event TS_EVENT_IMMEDIATE generated by VConn Close goes to null_transform instead of calling cacheHandler. Also the cont data which i observe is of null_transform. For populating the data for reading and writing, I perform the following operations- I get the queue(stl queue) using function getWriteCacheQueue. I then push the cache data object using push function call(Line 30 in NullTransform) After the object is pushed in the queue, I wait for the signal using pthread_cond_wait. To wake the main thread, I send the signal from the function which I send from cacheHandler. Similary are the calls for threadcacheRead and threadcacheRemove. I didn't understand your comment regarding the chaining of events. How can I handle those in my code. It will be great if you help in fixing this issue. Regards,