UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FNetworkPlatformFile Class Reference

#include <NetworkPlatformFile.h>

+ Inheritance diagram for FNetworkPlatformFile:

Public Member Functions

NETWORKFILE_API FNetworkPlatformFile ()
 
virtual NETWORKFILE_API ~FNetworkPlatformFile ()
 
virtual NETWORKFILE_API bool ShouldBeUsed (IPlatformFile *Inner, const TCHAR *CmdLine) const override
 
virtual NETWORKFILE_API bool Initialize (IPlatformFile *Inner, const TCHAR *CmdLine) override
 
virtual NETWORKFILE_API void InitializeAfterSetActive () override
 
virtual IPlatformFileGetLowerLevel () override
 
virtual void SetLowerLevel (IPlatformFile *NewLowerLevel) override
 
virtual void GetTimeStampPair (const TCHAR *PathA, const TCHAR *PathB, FDateTime &OutTimeStampA, FDateTime &OutTimeStampB)
 
virtual const TCHARGetName () const override
 
virtual bool IsUsable ()
 
virtual bool FileExists (const TCHAR *Filename) override
 
virtual int64 FileSize (const TCHAR *Filename) override
 
virtual NETWORKFILE_API bool DeleteFile (const TCHAR *Filename) override
 
virtual bool IsReadOnly (const TCHAR *Filename) override
 
virtual NETWORKFILE_API bool MoveFile (const TCHAR *To, const TCHAR *From) override
 
virtual NETWORKFILE_API bool SetReadOnly (const TCHAR *Filename, bool bNewReadOnlyValue) override
 
virtual FDateTime GetTimeStamp (const TCHAR *Filename) override
 
virtual NETWORKFILE_API void SetTimeStamp (const TCHAR *Filename, FDateTime DateTime) override
 
virtual FDateTime GetAccessTimeStamp (const TCHAR *Filename) override
 
virtual FString GetFilenameOnDisk (const TCHAR *Filename) override
 
virtual NETWORKFILE_API IFileHandleOpenRead (const TCHAR *Filename, bool bAllowWrite=false) override
 
virtual NETWORKFILE_API IFileHandleOpenWrite (const TCHAR *Filename, bool bAppend=false, bool bAllowRead=false) override
 
virtual NETWORKFILE_API bool DirectoryExists (const TCHAR *Directory) override
 
virtual NETWORKFILE_API bool CreateDirectoryTree (const TCHAR *Directory) override
 
virtual NETWORKFILE_API bool CreateDirectory (const TCHAR *Directory) override
 
virtual NETWORKFILE_API bool DeleteDirectory (const TCHAR *Directory) override
 
virtual NETWORKFILE_API FFileStatData GetStatData (const TCHAR *FilenameOrDirectory) override
 
virtual NETWORKFILE_API bool IterateDirectory (const TCHAR *Directory, IPlatformFile::FDirectoryVisitor &Visitor) override
 
virtual NETWORKFILE_API bool IterateDirectoryRecursively (const TCHAR *Directory, IPlatformFile::FDirectoryVisitor &Visitor) override
 
virtual NETWORKFILE_API bool IterateDirectoryStat (const TCHAR *Directory, IPlatformFile::FDirectoryStatVisitor &Visitor) override
 
virtual NETWORKFILE_API bool IterateDirectoryStatRecursively (const TCHAR *Directory, IPlatformFile::FDirectoryStatVisitor &Visitor) override
 
virtual NETWORKFILE_API bool DeleteDirectoryRecursively (const TCHAR *Directory) override
 
virtual NETWORKFILE_API bool CopyFile (const TCHAR *To, const TCHAR *From, EPlatformFileRead ReadFlags=EPlatformFileRead::None, EPlatformFileWrite WriteFlags=EPlatformFileWrite::None) override
 
virtual NETWORKFILE_API FString ConvertToAbsolutePathForExternalAppForRead (const TCHAR *Filename) override
 
virtual NETWORKFILE_API FString ConvertToAbsolutePathForExternalAppForWrite (const TCHAR *Filename) override
 
virtual NETWORKFILE_API bool SendMessageToServer (const TCHAR *Message, IPlatformFile::IFileServerMessageHandler *Handler) override
 
virtual NETWORKFILE_API void Tick () override
 
virtual NETWORKFILE_API bool SendPayloadAndReceiveResponse (TArray< uint8 > &In, TArray< uint8 > &Out)
 
virtual NETWORKFILE_API bool ReceiveResponse (TArray< uint8 > &Out)
 
NETWORKFILE_API bool SendReadMessage (uint8 *Destination, int64 BytesToRead)
 
NETWORKFILE_API bool SendWriteMessage (const uint8 *Source, int64 BytesToWrite)
 
virtual NETWORKFILE_API FString GetVersionInfo () const
 
- Public Member Functions inherited from IPlatformFile
CORE_API IPlatformFile ()
 
virtual CORE_API ~IPlatformFile ()
 
virtual void SetSandboxEnabled (bool bInEnabled)
 
virtual bool IsSandboxEnabled () const
 
virtual void InitializeAfterProjectFilePath ()
 
virtual void MakeUniquePakFilesForTheseFiles (const TArray< TArray< FString > > &InFiles)
 
virtual void InitializeNewAsyncIO ()
 
virtual void AddLocalDirectories (TArray< FString > &LocalDirectories)
 
virtual void BypassSecurity (bool bInBypass)
 
virtual bool DeleteFiles (const TArrayView< const TCHAR * > &Filenames)
 
virtual ESymlinkResult IsSymlink (const TCHAR *Filename)
 
virtual bool HasMarkOfTheWeb (FStringView Filename, FString *OutSourceURL=nullptr)
 
virtual bool SetMarkOfTheWeb (FStringView Filename, bool bNewStatus, const FString *InSourceURL=nullptr)
 
virtual CORE_API FFileOpenResult OpenRead (const TCHAR *Filename, EOpenReadFlags Flags)
 
virtual FFileOpenResult OpenReadNoBuffering (const TCHAR *Filename, EOpenReadFlags Flags)
 
virtual IFileHandleOpenReadNoBuffering (const TCHAR *Filename, bool bAllowWrite=false)
 
virtual CORE_API FFileOpenResult OpenWrite (const TCHAR *Filename, EOpenWriteFlags Flags)
 
virtual CORE_API bool FileJournalIsAvailable (const TCHAR *VolumeOrPath=nullptr, ELogVerbosity::Type *OutErrorLevel=nullptr, FString *OutError=nullptr)
 
virtual CORE_API uint64 FileJournalGetMaximumSize (const TCHAR *VolumeOrPath=nullptr, ELogVerbosity::Type *OutErrorLevel=nullptr, FString *OutError=nullptr) const
 
virtual CORE_API EFileJournalResult FileJournalGetLatestEntry (const TCHAR *VolumeName, FFileJournalId &OutJournalId, FFileJournalEntryHandle &OutEntryHandle, FString *OutError=nullptr)
 
virtual CORE_API bool FileJournalIterateDirectory (const TCHAR *Directory, FDirectoryJournalVisitorFunc Visitor, FString *OutError=nullptr)
 
virtual CORE_API FFileJournalData FileJournalGetFileData (const TCHAR *FilenameOrDirectory, FString *OutError=nullptr)
 
virtual CORE_API EFileJournalResult FileJournalReadModified (const TCHAR *VolumeName, const FFileJournalId &JournalIdOfStartingEntry, const FFileJournalEntryHandle &StartingJournalEntry, TMap< FFileJournalFileHandle, FString > &KnownDirectories, TSet< FString > &OutModifiedDirectories, FFileJournalEntryHandle &OutNextJournalEntry, FString *OutError=nullptr)
 
virtual CORE_API FString FileJournalGetVolumeName (FStringView InPath)
 
virtual CORE_API FFileOpenAsyncResult OpenAsyncRead (const TCHAR *Filename, EOpenReadFlags Flags)
 
virtual CORE_API IAsyncReadFileHandleOpenAsyncRead (const TCHAR *Filename, bool bAllowWrite=false)
 
virtual void SetAsyncMinimumPriority (EAsyncIOPriorityAndFlags MinPriority)
 
virtual CORE_API IMappedFileHandleOpenMapped (const TCHAR *Filename)
 
virtual CORE_API FOpenMappedResult OpenMappedEx (const TCHAR *Filename, EOpenReadFlags OpenOptions=EOpenReadFlags::None, int64 MaximumSize=0)
 
virtual CORE_API FDateTime GetTimeStampLocal (const TCHAR *Filename)
 
virtual CORE_API bool IterateDirectory (const TCHAR *Directory, FDirectoryVisitorFunc Visitor)
 
virtual CORE_API bool IterateDirectoryStat (const TCHAR *Directory, FDirectoryStatVisitorFunc Visitor)
 
virtual CORE_API bool IterateDirectoryRecursively (const TCHAR *Directory, FDirectoryVisitorFunc Visitor)
 
virtual CORE_API bool IterateDirectoryStatRecursively (const TCHAR *Directory, FDirectoryStatVisitorFunc Visitor)
 
virtual CORE_API void FindFiles (TArray< FString > &FoundFiles, const TCHAR *Directory, const TCHAR *FileExtension)
 
virtual CORE_API void FindFilesRecursively (TArray< FString > &FoundFiles, const TCHAR *Directory, const TCHAR *FileExtension)
 
virtual CORE_API bool CopyDirectoryTree (const TCHAR *DestinationDirectory, const TCHAR *Source, bool bOverwriteAllExisting)
 
virtual bool DoesCreatePublicFiles ()
 
virtual void SetCreatePublicFiles (bool bCreatePublicFiles)
 
virtual int64 GetAllowedBytesToWriteThrottledStorage (const TCHAR *DestinationPath=nullptr)
 
- Public Member Functions inherited from FSelfRegisteringExec
CORE_API FSelfRegisteringExec ()
 
virtual CORE_API ~FSelfRegisteringExec ()
 
- Public Member Functions inherited from FExec
virtual CORE_API ~FExec ()
 
virtual CORE_API bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Static Public Member Functions

static const TCHARGetTypeName ()
 
static NETWORKFILE_API void ConvertServerFilenameToClientFilename (FString &FilenameToConvert, const FString &InServerEngineDir, const FString &InServerProjectDir, const FString &InServerEnginePlatformExtensionsDir, const FString &InServerProjectPlatformExtensionsDir)
 
- Static Public Member Functions inherited from IPlatformFile
static CORE_API IPlatformFileGetPlatformPhysical ()
 
static CORE_API const TCHARGetPhysicalTypeName ()
 
- Static Public Member Functions inherited from FSelfRegisteringExec
static CORE_API bool StaticExec (UWorld *Inworld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Protected Member Functions

virtual NETWORKFILE_API bool InitializeInternal (IPlatformFile *Inner, const TCHAR *HostIP)
 
virtual NETWORKFILE_API void OnFileUpdated (const FString &LocalFilename)
 
virtual NETWORKFILE_API bool Exec_Runtime (class UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar) override
 
virtual NETWORKFILE_API void PerformHeartbeat ()
 
virtual NETWORKFILE_API void GetFileInfo (const TCHAR *Filename, FFileInfo &Info)
 
virtual NETWORKFILE_API void ConvertServerFilenameToClientFilename (FString &FilenameToConvert)
 
virtual NETWORKFILE_API void FillGetFileList (FNetworkFileArchive &Payload)
 
virtual NETWORKFILE_API void ProcessServerInitialResponse (FArrayReader &InResponse, FPackageFileVersion &OutServerPackageVersion, int32 &OutServerPackageLicenseeVersion)
 
virtual NETWORKFILE_API void ProcessServerCachedFilesResponse (FArrayReader &InReponse, const FPackageFileVersion &ServerPackageVersion, const int32 ServerPackageLicenseeVersion)
 
NETWORKFILE_API void MakeStandardNetworkFilename (FString &Filename)
 
- Protected Member Functions inherited from FExec
virtual bool Exec_Dev (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Editor (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Protected Attributes

bool bHasLoadedDDCDirectories
 
IPlatformFileInnerPlatformFile
 
TSet< FString > CachedLocalFiles
 
FString ServerEngineDir
 
FString ServerProjectDir
 
FString ServerEnginePlatformExtensionsDir
 
FString ServerProjectPlatformExtensionsDir
 
FServerTOC ServerFiles
 
TArray< FString > LocalDirectories
 
FCriticalSection SynchronizationObject
 
FCriticalSection LocalDirectoriesCriticalSection
 
bool bIsUsable
 
int32 FileServerPort
 
EConnectionFlags ConnectionFlags
 
float HeartbeatFrequency
 
double TotalWriteTime
 
double TotalNetworkSyncTime
 
int32 TotalFilesSynced
 
int32 TotalUnsolicitedPackages
 
int32 TotalFilesFoundLocally
 
int32 UnsolicitedPackagesHits
 
int32 UnsolicitedPackageWaits
 
double TotalTimeSpentInUnsolicitedPackages
 
double TotalWaitForAsyncUnsolicitedPackages
 

Friends

class FAsyncFileSync
 
void ReadUnsolicitedFile (int32 InNumUnsolictedFiles, FNetworkPlatformFile &InNetworkFile, IPlatformFile &InInnerPlatformFile, FString &InServerEngineDir, FString &InServerProjectDir)
 

Additional Inherited Members

- Public Types inherited from IPlatformFile
enum class  EOpenReadFlags : uint8 { None = 0 , AllowWrite = 1 << 0 , AllowDelete = 1 << 1 , NoBuffering = 1 << 2 }
 
enum class  EOpenWriteFlags : uint8 { None = 0 , AllowRead = 1 << 0 , Append = 1 << 1 }
 
typedef TFunctionRef< bool(const TCHAR *, bool)> FDirectoryVisitorFunc
 
typedef TFunctionRef< bool(const TCHAR *, const FFileStatData &)> FDirectoryStatVisitorFunc
 
typedef TFunctionRef< bool(const TCHAR *, const FFileJournalData &)> FDirectoryJournalVisitorFunc
 

Detailed Description

Wrapper to redirect the low level file system to a server

Constructor & Destructor Documentation

◆ FNetworkPlatformFile()

FNetworkPlatformFile::FNetworkPlatformFile ( )

Constructor

◆ ~FNetworkPlatformFile()

FNetworkPlatformFile::~FNetworkPlatformFile ( )
virtual

Destructor

Member Function Documentation

◆ ConvertServerFilenameToClientFilename() [1/2]

void FNetworkPlatformFile::ConvertServerFilenameToClientFilename ( FString &  FilenameToConvert)
protectedvirtual

Convert the given filename from the server to the client version of it NOTE: Potentially modifies the input FString!!!!

Parameters
FilenameToConvertUpon input, the server version of the filename. After the call, the client version

◆ ConvertServerFilenameToClientFilename() [2/2]

void FNetworkPlatformFile::ConvertServerFilenameToClientFilename ( FString &  FilenameToConvert,
const FString &  InServerEngineDir,
const FString &  InServerProjectDir,
const FString &  InServerEnginePlatformExtensionsDir,
const FString &  InServerProjectPlatformExtensionsDir 
)
static

◆ ConvertToAbsolutePathForExternalAppForRead()

FString FNetworkPlatformFile::ConvertToAbsolutePathForExternalAppForRead ( const TCHAR Filename)
overridevirtual

Converts passed in filename to use an absolute path (for reading).

Parameters
Filenamefilename to convert to use an absolute path, safe to pass in already using absolute path
Returns
filename using absolute path

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ ConvertToAbsolutePathForExternalAppForWrite()

FString FNetworkPlatformFile::ConvertToAbsolutePathForExternalAppForWrite ( const TCHAR Filename)
overridevirtual

Converts passed in filename to use an absolute path (for writing)

Parameters
Filenamefilename to convert to use an absolute path, safe to pass in already using absolute path
Returns
filename using absolute path

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ CopyFile()

bool FNetworkPlatformFile::CopyFile ( const TCHAR To,
const TCHAR From,
EPlatformFileRead  ReadFlags = EPlatformFileRead::None,
EPlatformFileWrite  WriteFlags = EPlatformFileWrite::None 
)
overridevirtual

Copy a file. This will fail if the destination file already exists.

Parameters
ToFile to copy to.
FromFile to copy from.
ReadFlagsSource file read options.
WriteFlagsDestination file write options.
Returns
true if the file was copied successfully.

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ CreateDirectory()

bool FNetworkPlatformFile::CreateDirectory ( const TCHAR Directory)
overridevirtual

Create a directory and return true if the directory was created or already existed.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ CreateDirectoryTree()

bool FNetworkPlatformFile::CreateDirectoryTree ( const TCHAR Directory)
overridevirtual

Create a directory, including any parent directories and return true if the directory was created or already existed.

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ DeleteDirectory()

bool FNetworkPlatformFile::DeleteDirectory ( const TCHAR Directory)
overridevirtual

Delete a directory and return true if the directory was deleted or otherwise does not exist.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ DeleteDirectoryRecursively()

bool FNetworkPlatformFile::DeleteDirectoryRecursively ( const TCHAR Directory)
overridevirtual

Delete all files and subdirectories in a directory, then delete the directory itself

Parameters
DirectoryThe directory to delete.
Returns
true if the directory was deleted or did not exist.

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ DeleteFile()

bool FNetworkPlatformFile::DeleteFile ( const TCHAR Filename)
overridevirtual

Delete a file and return true if the file exists. Will not delete read only files.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ DirectoryExists()

bool FNetworkPlatformFile::DirectoryExists ( const TCHAR Directory)
overridevirtual

Return true if the directory exists.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ Exec_Runtime()

bool FNetworkPlatformFile::Exec_Runtime ( class UWorld InWorld,
const TCHAR Cmd,
FOutputDevice Ar 
)
overrideprotectedvirtual

Implementation of Exec that is called on all targets where UE_ALLOW_EXEC_COMMANDS is true

Reimplemented from FExec.

◆ FileExists()

virtual bool FNetworkPlatformFile::FileExists ( const TCHAR Filename)
inlineoverridevirtual

Return true if the file exists.

Implements IPlatformFile.

◆ FileSize()

virtual int64 FNetworkPlatformFile::FileSize ( const TCHAR Filename)
inlineoverridevirtual

Return the size of the file, or -1 if it doesn't exist.

Implements IPlatformFile.

◆ FillGetFileList()

void FNetworkPlatformFile::FillGetFileList ( FNetworkFileArchive Payload)
protectedvirtual

◆ GetAccessTimeStamp()

virtual FDateTime FNetworkPlatformFile::GetAccessTimeStamp ( const TCHAR Filename)
inlineoverridevirtual

Return the last access time of a file. Returns FDateTime::MinValue() on failure

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ GetFileInfo()

void FNetworkPlatformFile::GetFileInfo ( const TCHAR Filename,
FFileInfo Info 
)
protectedvirtual

◆ GetFilenameOnDisk()

virtual FString FNetworkPlatformFile::GetFilenameOnDisk ( const TCHAR Filename)
inlineoverridevirtual

For case insensitive filesystems, returns the full path of the file with the same case as in the filesystem

Implements IPlatformFile.

◆ GetLowerLevel()

virtual IPlatformFile * FNetworkPlatformFile::GetLowerLevel ( )
inlineoverridevirtual

Gets the platform file wrapped by this file.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ GetName()

virtual const TCHAR * FNetworkPlatformFile::GetName ( ) const
inlineoverridevirtual

Gets this platform file type name.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ GetStatData()

FFileStatData FNetworkPlatformFile::GetStatData ( const TCHAR FilenameOrDirectory)
overridevirtual

Return the stat data for the given file or directory. Check the FFileStatData::bIsValid member before using the returned data

Implements IPlatformFile.

◆ GetTimeStamp()

virtual FDateTime FNetworkPlatformFile::GetTimeStamp ( const TCHAR Filename)
inlineoverridevirtual

Return the modification time of a file. Returns FDateTime::MinValue() on failure

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ GetTimeStampPair()

virtual void FNetworkPlatformFile::GetTimeStampPair ( const TCHAR PathA,
const TCHAR PathB,
FDateTime OutTimeStampA,
FDateTime OutTimeStampB 
)
inlinevirtual

Reimplemented from IPlatformFile.

◆ GetTypeName()

static const TCHAR * FNetworkPlatformFile::GetTypeName ( )
inlinestatic

◆ GetVersionInfo()

FString FNetworkPlatformFile::GetVersionInfo ( ) const
virtual

◆ Initialize()

bool FNetworkPlatformFile::Initialize ( IPlatformFile Inner,
const TCHAR CmdLine 
)
overridevirtual

Initializes platform file.

Parameters
InnerPlatform file to wrap by this file.
CmdLineCommand line to parse.
Returns
true if the initialization was successful, false otherise.

Implements IPlatformFile.

◆ InitializeAfterSetActive()

void FNetworkPlatformFile::InitializeAfterSetActive ( )
overridevirtual

Performs initialization of the platform file after it has become the active (FPlatformFileManager.GetPlatformFile() will return this

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ InitializeInternal()

bool FNetworkPlatformFile::InitializeInternal ( IPlatformFile Inner,
const TCHAR HostIP 
)
protectedvirtual

Initialize network platform file give the specified host IP

Parameters
InnerInner platform file
HostIPhost IP address
Returns
true if the initialization succeeded, false otherwise

◆ IsReadOnly()

virtual bool FNetworkPlatformFile::IsReadOnly ( const TCHAR Filename)
inlineoverridevirtual

Return true if the file is read only.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ IsUsable()

virtual bool FNetworkPlatformFile::IsUsable ( )
inlinevirtual

◆ IterateDirectory()

bool FNetworkPlatformFile::IterateDirectory ( const TCHAR Directory,
IPlatformFile::FDirectoryVisitor Visitor 
)
overridevirtual

Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.

Parameters
DirectoryThe directory to iterate the contents of.
VisitorVisitor to call for each element of the directory
Returns
false if the directory did not exist or if the visitor returned false.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ IterateDirectoryRecursively()

bool FNetworkPlatformFile::IterateDirectoryRecursively ( const TCHAR Directory,
IPlatformFile::FDirectoryVisitor Visitor 
)
overridevirtual

Call the Visit function of the visitor once for each file or directory in a directory tree. This function explores subdirectories.

Parameters
DirectoryThe directory to iterate the contents of, recursively.
VisitorVisitor to call for each element of the directory and each element of all subdirectories.
Returns
false if the directory did not exist or if the visitor returned false.

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ IterateDirectoryStat()

bool FNetworkPlatformFile::IterateDirectoryStat ( const TCHAR Directory,
IPlatformFile::FDirectoryStatVisitor Visitor 
)
overridevirtual

Call the Visit function of the visitor once for each file or directory in a single directory. This function does not explore subdirectories.

Parameters
DirectoryThe directory to iterate the contents of.
VisitorVisitor to call for each element of the directory
Returns
false if the directory did not exist or if the visitor returned false.

Implements IPlatformFile.

◆ IterateDirectoryStatRecursively()

bool FNetworkPlatformFile::IterateDirectoryStatRecursively ( const TCHAR Directory,
IPlatformFile::FDirectoryStatVisitor Visitor 
)
overridevirtual

Call the Visit function of the visitor once for each file or directory in a directory tree. This function explores subdirectories.

Parameters
DirectoryThe directory to iterate the contents of, recursively.
VisitorVisitor to call for each element of the directory and each element of all subdirectories.
Returns
false if the directory did not exist or if the visitor returned false.

Reimplemented from IPlatformFile.

◆ MakeStandardNetworkFilename()

void FNetworkPlatformFile::MakeStandardNetworkFilename ( FString &  Filename)
protected

Does normal path standardization, and also any extra modifications to make string comparisons against the internal directory list work properly.

◆ MoveFile()

bool FNetworkPlatformFile::MoveFile ( const TCHAR To,
const TCHAR From 
)
overridevirtual

Attempt to move a file. Return true if successful. Will not overwrite existing files.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ OnFileUpdated()

void FNetworkPlatformFile::OnFileUpdated ( const FString &  LocalFilename)
protectedvirtual

◆ OpenRead()

IFileHandle * FNetworkPlatformFile::OpenRead ( const TCHAR Filename,
bool  bAllowWrite = false 
)
overridevirtual

Attempt to open a file for reading. Please consider using the new overload that takes EReadFlags instead of bools as parameters.

Parameters
Filenamefile to be opened
bAllowWrite(applies to certain platforms only) whether this file is allowed to be written to by other processes. This flag is needed to open files that are currently being written to as well.
Returns
If successful will return a non-nullptr pointer. Close the file by deleting the handle.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ OpenWrite()

IFileHandle * FNetworkPlatformFile::OpenWrite ( const TCHAR Filename,
bool  bAppend = false,
bool  bAllowRead = false 
)
overridevirtual

Attempt to open a file for writing. If successful will return a non-nullptr pointer. Close the file by deleting the handle.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ PerformHeartbeat()

void FNetworkPlatformFile::PerformHeartbeat ( )
protectedvirtual

Send a heartbeat message to the file server. This will tell it we are alive, as well as get back a list of files that have been updated on the server (so we can toss our copy)

◆ ProcessServerCachedFilesResponse()

void FNetworkPlatformFile::ProcessServerCachedFilesResponse ( FArrayReader InReponse,
const FPackageFileVersion ServerPackageVersion,
const int32  ServerPackageLicenseeVersion 
)
protectedvirtual

◆ ProcessServerInitialResponse()

void FNetworkPlatformFile::ProcessServerInitialResponse ( FArrayReader InResponse,
FPackageFileVersion OutServerPackageVersion,
int32 OutServerPackageLicenseeVersion 
)
protectedvirtual

◆ ReceiveResponse()

bool FNetworkPlatformFile::ReceiveResponse ( TArray< uint8 > &  Out)
virtual

◆ SendMessageToServer()

bool FNetworkPlatformFile::SendMessageToServer ( const TCHAR Message,
IPlatformFile::IFileServerMessageHandler Handler 
)
overridevirtual

Sends a message to the file server, and will block until it's complete. Will return immediately if the file manager doesn't support talking to a server.

Parameters
MessageThe string message to send to the server
Returns
true if the message was sent to server and it returned success, or false if there is no server, or the command failed

Reimplemented from IPlatformFile.

◆ SendPayloadAndReceiveResponse()

bool FNetworkPlatformFile::SendPayloadAndReceiveResponse ( TArray< uint8 > &  In,
TArray< uint8 > &  Out 
)
virtual

◆ SendReadMessage()

bool FNetworkPlatformFile::SendReadMessage ( uint8 Destination,
int64  BytesToRead 
)

◆ SendWriteMessage()

bool FNetworkPlatformFile::SendWriteMessage ( const uint8 Source,
int64  BytesToWrite 
)

◆ SetLowerLevel()

virtual void FNetworkPlatformFile::SetLowerLevel ( IPlatformFile NewLowerLevel)
inlineoverridevirtual

Sets the platform file wrapped by this file.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ SetReadOnly()

bool FNetworkPlatformFile::SetReadOnly ( const TCHAR Filename,
bool  bNewReadOnlyValue 
)
overridevirtual

Attempt to change the read only status of a file. Return true if successful.

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ SetTimeStamp()

void FNetworkPlatformFile::SetTimeStamp ( const TCHAR Filename,
FDateTime  DateTime 
)
overridevirtual

Sets the modification time of a file

Implements IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ ShouldBeUsed()

bool FNetworkPlatformFile::ShouldBeUsed ( IPlatformFile Inner,
const TCHAR CmdLine 
) const
overridevirtual

Checks if this platform file should be used even though it was not asked to be. i.e. pak files exist on disk so we should use a pak file

Reimplemented from IPlatformFile.

Reimplemented in FStreamingNetworkPlatformFile.

◆ Tick()

void FNetworkPlatformFile::Tick ( )
overridevirtual

Platform file can override this to get a regular tick from the engine

Reimplemented from IPlatformFile.

Friends And Related Symbol Documentation

◆ FAsyncFileSync

friend class FAsyncFileSync
friend

◆ ReadUnsolicitedFile

void ReadUnsolicitedFile ( int32  InNumUnsolictedFiles,
FNetworkPlatformFile InNetworkFile,
IPlatformFile InInnerPlatformFile,
FString &  InServerEngineDir,
FString &  InServerProjectDir 
)
friend

Member Data Documentation

◆ bHasLoadedDDCDirectories

bool FNetworkPlatformFile::bHasLoadedDDCDirectories
protected

This is true after the DDC directories have been loaded from the DDC system

◆ bIsUsable

bool FNetworkPlatformFile::bIsUsable
protected

◆ CachedLocalFiles

TSet<FString> FNetworkPlatformFile::CachedLocalFiles
protected

This keeps track of what files have been "EnsureFileIsLocal'd"

◆ ConnectionFlags

EConnectionFlags FNetworkPlatformFile::ConnectionFlags
protected

◆ FileServerPort

int32 FNetworkPlatformFile::FileServerPort
protected

◆ HeartbeatFrequency

float FNetworkPlatformFile::HeartbeatFrequency
protected

◆ InnerPlatformFile

IPlatformFile* FNetworkPlatformFile::InnerPlatformFile
protected

The file interface to read/write local files with

◆ LocalDirectories

TArray<FString> FNetworkPlatformFile::LocalDirectories
protected

Set of directories that should use the local filesystem

◆ LocalDirectoriesCriticalSection

FCriticalSection FNetworkPlatformFile::LocalDirectoriesCriticalSection
protected

◆ ServerEngineDir

FString FNetworkPlatformFile::ServerEngineDir
protected

The server engine dir

◆ ServerEnginePlatformExtensionsDir

FString FNetworkPlatformFile::ServerEnginePlatformExtensionsDir
protected

The server engine platform extensions dir

◆ ServerFiles

FServerTOC FNetworkPlatformFile::ServerFiles
protected

This is the "TOC" of the server

◆ ServerProjectDir

FString FNetworkPlatformFile::ServerProjectDir
protected

The server game dir

◆ ServerProjectPlatformExtensionsDir

FString FNetworkPlatformFile::ServerProjectPlatformExtensionsDir
protected

The server project platform extensions dir

◆ SynchronizationObject

FCriticalSection FNetworkPlatformFile::SynchronizationObject
protected

◆ TotalFilesFoundLocally

int32 FNetworkPlatformFile::TotalFilesFoundLocally
protected

◆ TotalFilesSynced

int32 FNetworkPlatformFile::TotalFilesSynced
protected

◆ TotalNetworkSyncTime

double FNetworkPlatformFile::TotalNetworkSyncTime
protected

◆ TotalTimeSpentInUnsolicitedPackages

double FNetworkPlatformFile::TotalTimeSpentInUnsolicitedPackages
protected

◆ TotalUnsolicitedPackages

int32 FNetworkPlatformFile::TotalUnsolicitedPackages
protected

◆ TotalWaitForAsyncUnsolicitedPackages

double FNetworkPlatformFile::TotalWaitForAsyncUnsolicitedPackages
protected

◆ TotalWriteTime

double FNetworkPlatformFile::TotalWriteTime
protected

◆ UnsolicitedPackagesHits

int32 FNetworkPlatformFile::UnsolicitedPackagesHits
protected

◆ UnsolicitedPackageWaits

int32 FNetworkPlatformFile::UnsolicitedPackageWaits
protected

The documentation for this class was generated from the following files: