From c8cb3e818b57f8e61a74816e1795bcee110d7c79 Mon Sep 17 00:00:00 2001 From: Berkay Date: Tue, 23 Sep 2025 00:11:19 +0300 Subject: [PATCH] chore: unused fm removed --- src/game/FileMonitor_FreeBSD.cpp | 138 ------------------------------- src/game/FileMonitor_FreeBSD.h | 44 ---------- src/game/IFileMonitor.h | 30 ------- src/game/desc_manager.h | 1 - src/game/main.cpp | 19 ----- 5 files changed, 232 deletions(-) delete mode 100644 src/game/FileMonitor_FreeBSD.cpp delete mode 100644 src/game/FileMonitor_FreeBSD.h delete mode 100644 src/game/IFileMonitor.h diff --git a/src/game/FileMonitor_FreeBSD.cpp b/src/game/FileMonitor_FreeBSD.cpp deleted file mode 100644 index 35709da..0000000 --- a/src/game/FileMonitor_FreeBSD.cpp +++ /dev/null @@ -1,138 +0,0 @@ -#include "stdafx.h" -#ifdef OS_FREEBSD -#include "FileMonitor_FreeBSD.h" -#include "libthecore/log.h" - - -#define INVALID_KERNEL_EVENT -1 - -FileMonitorFreeBSD::FileMonitorFreeBSD() -{ - m_KernelEventQueue = INVALID_KERNEL_EVENT; -} - -FileMonitorFreeBSD::~FileMonitorFreeBSD() -{ - if( m_KernelEventQueue != INVALID_KERNEL_EVENT ) - { - close ( m_KernelEventQueue ); - m_KernelEventQueue = INVALID_KERNEL_EVENT; - } - - TMonitorFileHashMap::iterator it; - for( it = m_FileLists.begin(); it != m_FileLists.end(); ++it ) - { - close(it->second.fhMonitor); - } - - m_FileLists.clear(); - - m_MonitoredEventLists.clear(); - m_TriggeredEventLists.clear(); -} - - -void FileMonitorFreeBSD::Update(DWORD dwPulses) -{ - if( m_KernelEventQueue == INVALID_KERNEL_EVENT || m_FileLists.size() == 0 ) - return; - - int nEvent = kevent(m_KernelEventQueue, &m_TriggeredEventLists[0], (int)m_TriggeredEventLists.size(), &m_MonitoredEventLists[0], (int)m_MonitoredEventLists.size(), NULL ); - if( nEvent == INVALID_KERNEL_EVENT ) - { - return; - } - else if( nEvent > 0 ) - { - for( int i = 0; i < nEvent; ++i ) - { - int nEventFlags = m_MonitoredEventLists[i].flags; - eFileUpdatedOptions eUpdateOption = e_FileUpdate_None; - - if (nEventFlags & EV_ERROR) - eUpdateOption = e_FileUpdate_Error; - - else if (nEventFlags & NOTE_DELETE) - eUpdateOption = e_FileUpdate_Deleted; - - else if (nEventFlags & NOTE_EXTEND || nEventFlags & NOTE_WRITE) - eUpdateOption = e_FileUpdate_Modified; - - else if (nEventFlags & NOTE_ATTRIB) - eUpdateOption = e_FileUpdate_AttrModified; - - else if (nEventFlags & NOTE_LINK) - eUpdateOption = e_FileUpdate_Linked; - - else if (nEventFlags & NOTE_RENAME) - eUpdateOption = e_FileUpdate_Renamed; - - else if (nEventFlags & NOTE_REVOKE) - eUpdateOption = e_FileUpdate_Revoked; - - if( eUpdateOption != e_FileUpdate_None ) - { - TMonitorFileHashMap::iterator it; - for( it = m_FileLists.begin(); it != m_FileLists.end(); ++it ) - { - FileIOContext_FreeBSD& context = it->second; - if( context.idxToEventList == i ) - { - std::string strModifedFileName = it->first; - context.pListenFunc( strModifedFileName, eUpdateOption ); - break; - } - } - } - } - } -} - -void FileMonitorFreeBSD::AddWatch(const std::string& strFileName, PFN_FileChangeListener pListenerFunc) -{ - int iFileHandle = -1; - if( (iFileHandle = open(strFileName.c_str(), O_RDONLY)) == -1) - { - sys_err("FileMonitorFreeBSD:AddWatch : can`t open file(%s).\n", strFileName.c_str()); - return; - } - - //create kqueue if not exists - if( m_KernelEventQueue == INVALID_KERNEL_EVENT ) - m_KernelEventQueue = kqueue(); - - if( m_KernelEventQueue == INVALID_KERNEL_EVENT ) - { - sys_err("FileMonitorFreeBSD:AddWatch : failed to create kqueue.\n"); - return; - } - - TMonitorFileHashMap::iterator it = m_FileLists.find( strFileName ); - if( it != m_FileLists.end() ) - { - sys_log(0, "FileMonitorFreeBSD:AddWatch : trying to add duplicated watch on file(%s).\n", strFileName.c_str() ); - return; - } - - //set file context - FileIOContext_FreeBSD context; - { - context.fhMonitor = iFileHandle; - context.idxToEventList = (int)m_MonitoredEventLists.size(); - context.pListenFunc = pListenerFunc; - } - - m_FileLists[strFileName] = context; - - //set events - struct kevent kTriggerEvent, kMonitorEvent; - - EV_SET(&kTriggerEvent, iFileHandle, EVFILT_VNODE, - EV_ADD | EV_ENABLE | EV_ONESHOT, - NOTE_DELETE | NOTE_WRITE | NOTE_EXTEND | NOTE_ATTRIB | NOTE_LINK | NOTE_RENAME | NOTE_REVOKE, - 0, 0); - - m_TriggeredEventLists.push_back( kTriggerEvent ); - m_MonitoredEventLists.push_back( kMonitorEvent ); -} -#endif \ No newline at end of file diff --git a/src/game/FileMonitor_FreeBSD.h b/src/game/FileMonitor_FreeBSD.h deleted file mode 100644 index b605743..0000000 --- a/src/game/FileMonitor_FreeBSD.h +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once -#ifdef OS_FREEBSD -#include "IFileMonitor.h" -#include -#include -#include -#include -#include - -struct FileIOContext_FreeBSD -{ - int fhMonitor; - int idxToEventList; // evtTrigger & evtMonitor index should be same - PFN_FileChangeListener pListenFunc; -}; - -class FileMonitorFreeBSD : public IFileMonitor -{ -private: - FileMonitorFreeBSD(); //hidden - -public: - virtual ~FileMonitorFreeBSD(); - - void AddWatch (const std::string& strFileName, PFN_FileChangeListener pListenerFunc); - void Update (DWORD dwPulses); - - static FileMonitorFreeBSD& Instance() - { - static FileMonitorFreeBSD theMonitor; - return theMonitor; - } - -private: - typedef std::unordered_map TMonitorFileHashMap; - typedef std::vector TEventList; - - TMonitorFileHashMap m_FileLists; - TEventList m_MonitoredEventLists; - TEventList m_TriggeredEventLists; - - int m_KernelEventQueue; -}; -#endif \ No newline at end of file diff --git a/src/game/IFileMonitor.h b/src/game/IFileMonitor.h deleted file mode 100644 index ec7e643..0000000 --- a/src/game/IFileMonitor.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef IFILEMONITOR_INCLUDED -#define IFILEMONITOR_INCLUDED - -//#include -#include - -enum eFileUpdatedOptions -{ - e_FileUpdate_None = -1, - e_FileUpdate_Error, - e_FileUpdate_Deleted, - e_FileUpdate_Modified, - e_FileUpdate_AttrModified, - e_FileUpdate_Linked, - e_FileUpdate_Renamed, - e_FileUpdate_Revoked, -}; - -// TODO : in FreeBSD boost function doesn`t work with boost bind -// so currently we only support for static function ptr only -//typedef boost::function< void ( const std::string&, eFileUpdatedOptions ) > PFN_FileChangeListener; -typedef void (* PFN_FileChangeListener )(const std::string&, eFileUpdatedOptions); - -struct IFileMonitor -{ - virtual void Update (DWORD dwPulses) = 0; - virtual void AddWatch (const std::string& strFileName, PFN_FileChangeListener pListenerFunc) = 0; -}; - -#endif // IFILEMONITOR_INCLUDED diff --git a/src/game/desc_manager.h b/src/game/desc_manager.h index b8b306b..5d0fe42 100644 --- a/src/game/desc_manager.h +++ b/src/game/desc_manager.h @@ -5,7 +5,6 @@ #include "common/stl.h" #include "common/length.h" -#include "IFileMonitor.h" class CLoginKey; class CClientPackageCryptInfo; diff --git a/src/game/main.cpp b/src/game/main.cpp index fdf4b94..5004c0f 100644 --- a/src/game/main.cpp +++ b/src/game/main.cpp @@ -63,12 +63,6 @@ #include "limit_time.h" #endif -//#define __FILEMONITOR__ - -#if defined (OS_FREEBSD) && defined(__FILEMONITOR__) - #include "FileMonitor_FreeBSD.h" -#endif - // #ifndef OS_WINDOWS // #include // #endif @@ -298,14 +292,6 @@ void heartbeat(LPHEART ht, int pulse) if (!(pulse % (passes_per_sec + 4))) CHARACTER_MANAGER::instance().ProcessDelayedSave(); - //4초 마다 -#if defined (OS_FREEBSD) && defined(__FILEMONITOR__) - if (!(pulse % (passes_per_sec * 5))) - { - FileMonitorFreeBSD::Instance().Update(pulse); - } -#endif - // 약 5.08초마다 if (!(pulse % (passes_per_sec * 5 + 2))) { @@ -537,11 +523,6 @@ int main(int argc, char **argv) sys_err("Failed to Load ClientPackageCryptInfo File(%s)", strPackageCryptInfoDir.c_str()); } -#if defined (OS_FREEBSD) && defined(__FILEMONITOR__) - PFN_FileChangeListener pPackageNotifyFunc = &(DESC_MANAGER::NotifyClientPackageFileChanged); - //FileMonitorFreeBSD::Instance().AddWatch( strPackageCryptInfoName, pPackageNotifyFunc ); -#endif - while (idle()); sys_log(0, " Starting...");