summaryrefslogtreecommitdiff
path: root/indra/llfilesystem/lllfsthread.h
diff options
context:
space:
mode:
authorCallum Prentice <callum@lindenlab.com>2021-03-09 14:26:24 -0800
committerCallum Prentice <callum@lindenlab.com>2021-03-09 14:26:24 -0800
commit519cbcecdf78e4dfc3adc465ae8cebed5df71647 (patch)
treeefa8e20856dbfc80e1ae44283cbd0139b828b1b2 /indra/llfilesystem/lllfsthread.h
parentada8ad1bc21665631f030c3194a567ea6f6a2a72 (diff)
parent88d837c16e768c5262073a7df965066d4bd8842c (diff)
Merge with master before reseting to revert (revert) and get back to D519 status
Diffstat (limited to 'indra/llfilesystem/lllfsthread.h')
-rw-r--r--indra/llfilesystem/lllfsthread.h147
1 files changed, 0 insertions, 147 deletions
diff --git a/indra/llfilesystem/lllfsthread.h b/indra/llfilesystem/lllfsthread.h
deleted file mode 100644
index 58f658f7ba..0000000000
--- a/indra/llfilesystem/lllfsthread.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- * @file lllfsthread.h
- * @brief LLLFSThread base class
- *
- * $LicenseInfo:firstyear=2000&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLLFSTHREAD_H
-#define LL_LLLFSTHREAD_H
-
-#include <queue>
-#include <string>
-#include <map>
-#include <set>
-
-#include "llpointer.h"
-#include "llqueuedthread.h"
-
-//============================================================================
-// Threaded Local File System
-//============================================================================
-
-class LLLFSThread : public LLQueuedThread
-{
- //------------------------------------------------------------------------
-public:
- enum operation_t {
- FILE_READ,
- FILE_WRITE,
- FILE_RENAME,
- FILE_REMOVE
- };
-
- //------------------------------------------------------------------------
-public:
-
- class Responder : public LLThreadSafeRefCount
- {
- protected:
- ~Responder();
- public:
- virtual void completed(S32 bytes) = 0;
- };
-
- class Request : public QueuedRequest
- {
- protected:
- virtual ~Request(); // use deleteRequest()
-
- public:
- Request(LLLFSThread* thread,
- handle_t handle, U32 priority,
- operation_t op, const std::string& filename,
- U8* buffer, S32 offset, S32 numbytes,
- Responder* responder);
-
- S32 getBytes()
- {
- return mBytes;
- }
- S32 getBytesRead()
- {
- return mBytesRead;
- }
- S32 getOperation()
- {
- return mOperation;
- }
- U8* getBuffer()
- {
- return mBuffer;
- }
- const std::string& getFilename()
- {
- return mFileName;
- }
-
- /*virtual*/ bool processRequest();
- /*virtual*/ void finishRequest(bool completed);
- /*virtual*/ void deleteRequest();
-
- private:
- LLLFSThread* mThread;
- operation_t mOperation;
-
- std::string mFileName;
-
- U8* mBuffer; // dest for reads, source for writes, new UUID for rename
- S32 mOffset; // offset into file, -1 = append (WRITE only)
- S32 mBytes; // bytes to read from file, -1 = all
- S32 mBytesRead; // bytes read from file
-
- LLPointer<Responder> mResponder;
- };
-
- //------------------------------------------------------------------------
-public:
- LLLFSThread(bool threaded = TRUE);
- ~LLLFSThread();
-
- // Return a Request handle
- handle_t read(const std::string& filename, /* Flawfinder: ignore */
- U8* buffer, S32 offset, S32 numbytes,
- Responder* responder, U32 pri=0);
- handle_t write(const std::string& filename,
- U8* buffer, S32 offset, S32 numbytes,
- Responder* responder, U32 pri=0);
-
- // Misc
- U32 priorityCounter() { return mPriorityCounter-- & PRIORITY_LOWBITS; } // Use to order IO operations
-
- // static initializers
- static void initClass(bool local_is_threaded = TRUE); // Setup sLocal
- static S32 updateClass(U32 ms_elapsed);
- static void cleanupClass(); // Delete sLocal
-
-
-private:
- U32 mPriorityCounter;
-
-public:
- static LLLFSThread* sLocal; // Default local file thread
-};
-
-//============================================================================
-
-
-#endif // LL_LLLFSTHREAD_H