在虚拟文件系统的消息队列里,主要就是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 <
|