在虚拟文件系统的消息队列里,主要就是LLVFSThread::Request类的请求,Request类是嵌套类,定义在LLVFSThread类里面。它主要实现对类LLVFS的封装访问,让操作更加方便一些,当然它是继续QueuedRequest类的,这样才可以添加到消息队列里去,否则不能添加到这个消息队列容器,也不能实现请求处理的多态了。
下面是类Request的构造函数。
#001 LLVFSThread::Request::Request(handle_t handle, U32 priority, U32 flags,
#002
operation_t op, LLVFS* vfs,
#003
const LLUUID &file_id, const LLAssetType::EType file_type,
#004
U8* buffer, S32 offset, S32 numbytes) :
#005
QueuedRequest(handle, priority, flags),
#006
mOperation(op),
#007
mVFS(vfs),
#008
mFileID(file_id),
#009
mFileType(file_type),
#010
mBuffer(buffer),
#011
mOffset(offset),
#012
mBytes(numbytes),
#013
mBytesRead(0)
#014 {
#015
llassert(mBuffer);
#016
判断是否非法出错。
#017
if (numbytes <= 0 && mOperation != FILE_RENAME)
#018
&n<