EvEmu
0.8.4
11 September 2021
|
Handles distribution of character and related game images. More...
#include "ImageServer.h"
Classes | |
class | Lock |
Public Member Functions | |
ImageServer () | |
void | Run () |
void | Stop () |
std::string & | url () |
void | ReportNewImage (uint32 accountID, std::shared_ptr< std::vector< char > > imageData) |
void | ReportNewCharacter (uint32 creatorAccountID, uint32 characterID) |
std::string | GetFilePath (std::string &category, uint32 id, uint32 size) |
std::shared_ptr< std::vector < char > > | GetImage (std::string &category, uint32 id, uint32 size) |
![]() | |
Singleton () | |
Primary constructor. More... | |
Static Public Attributes | |
static const char *const | Categories [] |
static const uint32 | CategoryCount = 5 |
static const char *const | FallbackURL = "http://image.eveonline.com/" |
Private Member Functions | |
void | RunInternal () |
bool | ValidateCategory (std::string &category) |
bool | ValidateSize (std::string &category, uint32 size) |
Private Attributes | |
std::unordered_map< uint32, std::shared_ptr< std::vector < char > > > | _limboImages |
std::shared_ptr < boost::asio::detail::thread > | _ioThread |
std::shared_ptr < boost::asio::io_context > | _io |
std::shared_ptr < ImageServerListener > | _listener |
std::string | _url |
std::string | _basePath |
boost::asio::detail::mutex | _limboLock |
Additional Inherited Members | |
![]() | |
static ImageServer & | get () |
![]() | |
static std::shared_ptr < ImageServer > | mInstance |
Handles distribution of character and related game images.
A very limited HTTP server that can efficiently deliver character and other images to clients Uses asio for efficient asynchronous network communication
Definition at line 48 of file ImageServer.h.
ImageServer::ImageServer | ( | ) |
Definition at line 42 of file ImageServer.cpp.
References _basePath, _url, Categories, CategoryCount, CreateDirectory(), sConfig, and sLog.
Definition at line 151 of file ImageServer.cpp.
References _basePath.
Referenced by GetImage(), and ReportNewCharacter().
std::shared_ptr< std::vector< char > > ImageServer::GetImage | ( | std::string & | category, |
uint32 | id, | ||
uint32 | size | ||
) |
Definition at line 115 of file ImageServer.cpp.
References GetFilePath(), sLog, ValidateCategory(), and ValidateSize().
Definition at line 77 of file ImageServer.cpp.
References _limboImages, _limboLock, GetFilePath(), and sLog.
void ImageServer::ReportNewImage | ( | uint32 | accountID, |
std::shared_ptr< std::vector< char > > | imageData | ||
) |
Definition at line 65 of file ImageServer.cpp.
References _limboImages, _limboLock, and sLog.
void ImageServer::Run | ( | ) |
Definition at line 191 of file ImageServer.cpp.
References _ioThread, and RunInternal().
|
private |
Definition at line 202 of file ImageServer.cpp.
References _io, and _listener.
Referenced by Run().
void ImageServer::Stop | ( | ) |
Definition at line 196 of file ImageServer.cpp.
References _io, and _ioThread.
std::string & ImageServer::url | ( | ) |
Definition at line 186 of file ImageServer.cpp.
References _url.
|
private |
Definition at line 178 of file ImageServer.cpp.
References Categories.
Referenced by GetImage().
|
private |
Definition at line 163 of file ImageServer.cpp.
Referenced by GetImage().
|
private |
Definition at line 80 of file ImageServer.h.
Referenced by GetFilePath(), and ImageServer().
|
private |
Definition at line 77 of file ImageServer.h.
Referenced by RunInternal(), and Stop().
|
private |
Definition at line 76 of file ImageServer.h.
|
private |
Definition at line 75 of file ImageServer.h.
Referenced by ReportNewCharacter(), and ReportNewImage().
|
private |
Definition at line 81 of file ImageServer.h.
Referenced by ReportNewCharacter(), and ReportNewImage().
|
private |
Definition at line 78 of file ImageServer.h.
Referenced by RunInternal().
|
private |
Definition at line 79 of file ImageServer.h.
Referenced by ImageServer(), and url().
|
static |
Definition at line 63 of file ImageServer.h.
Referenced by ImageServer(), ImageServerConnection::ProcessHeaders(), and ValidateCategory().
|
static |
Definition at line 64 of file ImageServer.h.
Referenced by ImageServer(), and ImageServerConnection::ProcessHeaders().
|
static |
Definition at line 68 of file ImageServer.h.
Referenced by ImageServerConnection::RedirectLocation().