I think I heard somewhere that using RFileWriteStream is more efficient than using RFile. Using RFile each Write will generate a message to the file server. Using RFileWriteStream only a message is generated when the data is committed or the stream is closed. So writing a file will be faster - hopefully.
Now I have a server which captures a chained list of buffers (containing IP data). Using RFile capture the data goes fine and works. Now I introduced RFileWriteStream. When trying to write the packet data into the stream the server crashes - really badly - the WriteL() is in a TRAP() macro. Before and after the statement I have log statements (using FLogger). The log statement before is still written into the logfile. The one after not any more. If I am declaring locally a TBuf8<32> Test = _L8("Test"); and write this to the RFileWriteStream it will appear hundreds of times in the log.
My conclusion: the crashes have to something with the fact that the data is now flushed at a later moment to the file server - but I do not delete it before it is flushed - is there some limit? how does this work exactly? what could be the cause? how to debug this?
Well ... any suggestions more than welcome. If you need additional info, do not hesitate to ask ...