| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- * Copyright (c) 2014, Oculus VR, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
- /// \file
- /// \brief Derivation of the packet logger to defer the call to WriteLog until the user thread.
- ///
- #include "NativeFeatureIncludes.h"
- #if _RAKNET_SUPPORT_PacketLogger==1
- #ifndef __THREADSAFE_PACKET_LOGGER_H
- #define __THREADSAFE_PACKET_LOGGER_H
- #include "PacketLogger.h"
- #include "SingleProducerConsumer.h"
- namespace RakNet
- {
- /// \ingroup PACKETLOGGER_GROUP
- /// \brief Same as PacketLogger, but writes output in the user thread.
- class RAK_DLL_EXPORT ThreadsafePacketLogger : public PacketLogger
- {
- public:
- ThreadsafePacketLogger();
- virtual ~ThreadsafePacketLogger();
- virtual void Update(void);
- protected:
- virtual void AddToLog(const char *str);
- DataStructures::SingleProducerConsumer<char*> logMessages;
- };
- } // namespace RakNet
- #endif
- #endif // _RAKNET_SUPPORT_*
|