In the message queue of the Virtual File System, the Request class is LLVFSThread: Request. The Request class is a nested class, which is defined in the LLVFSThread class. It mainly implements encapsulation access to class LLVFS to make the operation more convenient. Of course, it continues the QueuedRequest class so that it can be added to the message queue, otherwise, it cannot be added to the Message Queue container or implement the polymorphism of request processing.
The following is the Request-like constructor.
#001 LLVFSThread: 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
Determine whether an error is invalid.
#017 if (numbytes <= 0 & mOperation! = FILE_RENAME)
#018 & n <