The UbaSessionServer.cpp file contains the SessionServer::CreateFile() function, but UbaSessionServer.h does not have a definition for it. Instead, it does have a definition for the CreateFileForRead() function.
A search of the UnrealEngine Git history reveals that the SessionServer::CreateFile() function has been renamed to SessionServer::CreateFileForRead().
However, it appears that the current UE5.6.1 release has a conflict between UbaSessionServer.cpp and UbaSessionServer.h.
bool SessionServer::CreateFile(CreateFileResponse& out, const CreateFileMessage& msg)
{
if (!m_shouldWriteToDisk && ((msg.access & FileAccess_Write) == 0))
{
SCOPED_READ_LOCK(m_receivedFilesLock, lock);
auto findIt = m_receivedFiles.find(msg.fileNameKey);
if (findIt != m_receivedFiles.end())
{
u64 memoryMapAlignment = GetMemoryMapAlignment(msg.fileName);
if (!memoryMapAlignment)
memoryMapAlignment = 4096;
MemoryMap map;
if (!CreateMemoryMapFromView(map, msg.fileNameKey, msg.fileName.data, findIt->second, memoryMapAlignment))
return false;
out.directoryTableSize = GetDirectoryTableSize();
out.mappedFileTableSize = GetFileMappingSize();
out.fileName.Append(map.name);
out.size = map.size;
return true;
}
}
return Session::CreateFile(out, msg);
}
virtual bool PrepareProcess(ProcessImpl& process, bool isChild, StringBufferBase& outRealApplication, const tchar*& outRealWorkingDir) override final;
virtual bool CreateFileForRead(CreateFileResponse& out, TrackWorkScope& tws, const StringView& fileName, const StringKey& fileNameKey, ProcessImpl& process, const ApplicationRules& rules) override final;
virtual bool GetOutputFileSizeInternal(u64& outSize, const StringKey& fileNameKey, StringView filePath) override;
virtual bool GetOutputFileDataInternal(void* outData, const StringKey& fileNameKey, StringView filePath, bool deleteInternalMapping) override;
virtual bool WriteOutputFileInternal(const StringKey& fileNameKey, StringView filePath, bool deleteInternalMapping) override;
virtual void FileEntryAdded(StringKey fileNameKey, u64 lastWritten, u64 size) override final;