HydraNode Core Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
__use_boost_lambda_symbolsSuppresses unused variables warnings
Socket::_EndlLine ending object, similar to std::endl
ArchiveMetaDataArchive meta data
BTHashMakerGenerates BTHashSet, with varying chunksize
CheckPredUnary function object for usage with doGetRange() method, in order to check if the generated range is contained within the rangelist passed within this function object
ChunkCountPredSorts container of HashSetBase* objects based on chunkhashcount
SchedEventHandler::ClientEventHandler< Source, Scheduler >Policy class used by Scheduler for events handling
ConfigGeneric configuration storage class
ED2KHashED2KHash specification
ED2KHashMakerGenerates ED2KHashSet
EventMainThis Singleton class is the application main event system
EventTable< Source, Event >EventTable template class encapsulates pending events storage, event handlers storage and event handlers calling when instructed to do so from main event loop
EventTable< Source, Event >::DelayedEventDelayedEvent is an event that is to be emitted after specified time has passed
EventTable< Source, Event >::Deleter< Src, >Delete-function, used by safeDelete; declared public in order to create friendship with Src class
EventTable< Source, Event >::Deleter< Src, true >
EventTable< Source, Event >::GetSetHandler< _Src, _Evt, >Performs compile-time type-checking to find out if source is derived from Trackable, and if it is so, the below specialization of this class template is chosen, which takes the source validator and attaches it to the event
EventTable< Source, Event >::GetSetHandler< _Src, _Evt, true >
EventTable< Source, Event >::InternalEventWrapper class for temporary storing pending events and similar
EventTableBaseAbstract base class for event engine
FilesListFilesList class owns all SharedFile objects and provides accessors for managing shared files / directories as well as temporary files / directories
GetEventHandler< SocketClient, Scheduler >
GetEventHandler< SocketServer, Scheduler >
GetEventHandler< UDPSocket, Scheduler >
Hash< HashType >Concrete implementation for Hash
HashBaseAbstract base for hash
HashSet< HashType, FileHashType, ChunkSize >Implements concrete HashSet class
HashSetBaseAbstract base class representing a Hash Set
HashSetMakerAbstract base for HashSet maker
HashWorkRepresents a job entry to be performed by WorkThread
HydraNodeMain application class
ImageMetaDataImage meta data
Implement< Socket::Client, Socket::TCP >
Implement< Socket::Server, Socket::TCP >
Implement< Socket::Server, Socket::UDP >
Detail::Initializer< T >Specific initializer class for built-in modules; not to be used directly by user code
Detail::InitializerBaseBase class for built-modules system; not to be used directly
IPV4AddressIPV4Address encapsulates an IP address, with optional port
Detail::LockedRangeLockedRange object is an exclusivly locked Range in PartData
LogLogging wrapper providing shell for trace masks and strings
MD4HashMD4Hash specification
MD4HashMakerGenerates MD4 file hash, no part hashes
Md4TransformMd4Transform class handles data md4 checksumming functionality
MD5HashMD5Hash specification
MD5HashMakerGenerates MD5 file hash, no part hashes
MetaDataMetaData container which can contain any number of any type of different Metadata-like objects
MetaDbMetaDb class is container for all Meta Data handled by this application
MetaDb::HashWrapperHashWrapper structure acts as a container for HashBase pointers in order to allow us to have a map of those keyed by the Hash
ModManagerCentral module manager, keeping track of which modules are currently loaded, and providing an API for loading/unloading modules
ModuleBaseAbstract base class for Modules
MoveWorkMoveWork class is a job object submitted to WorkThread for processing; MoveWork performs file moving from source directory to destination directory, commonly used when completing a file
ObjectBase object class
Object::OperationOperation is a "command" one can perform with an object
Object::Operation::ArgumentArgument class represents one argument that can be passed to an operation
PartData::LockErrorException class
PartData::RangeErrorException class
PrefsSingleton preferences class which is used for storing the actual config data in HydraNode core
Utils::PtrLess< T >Simple generic function object for usage in standard containers, where pointer types are stored, but actual object comparisons are needed
Range< T >Range object represents a range of values
RangeList< RangeType >RangeList<T> is a generic container for Range<T> type objects
Utils::ReadErrorException class, thrown when read methods detect attempt to read past end of stream
Detail::RequestIndex< T >Indexes for request maps
SchedBaseSchedBase implements the third level of hydranode networking scheduler
SchedBase::ConnReqBaseRequest of type connection
SchedBase::DownloadReqBaseRequest of type download
SchedBase::ReqBaseRequest base, only contains score of the request
SchedBase::UploadReqBaseRequest of type upload
Scheduler< Impl, ImplPtr >Scheduler class, implementing second level of HydraNode Networking Scheduling API, abstracts away modules part of the sockets by generating a priority score (PS) for each of the pending requests
Scheduler< Impl, ImplPtr >::AcceptReqAccept request indicates we wish to accept an incoming connection from one of the servers
Scheduler< Impl, ImplPtr >::ConnReqConnection request indicates we wish to perform an outgoing connection
Scheduler< Impl, ImplPtr >::DownloadReqDownload request is an indication that we wish to receive data from a peer
Scheduler< Impl, ImplPtr >::SSocketWrapperWrapper object for scheduled socket, contains all the useful information we need, e.g
Scheduler< Impl, ImplPtr >::UploadReqUpload request is a request that indicates we wish to send out data to a socket
Detail::ScoreExtractor< T >Unary function object for extracting a requests score
SearchSearch class represents one search sent to one or more modules for processing, emitting events when new results are added, which the original request creator can then handle
SearchResultSearch result encapsualtes a single result from a search
SchedEventHandler::ServerEventHandler< Source, Scheduler >Policy class for events emitted from server type sockets
SHA1HashSHA1Hash specification
SHA1HashMakerGenerates SHA-1 file hash, no part hashes
Sha1TransformPerform SHA-1 Checksumming on data
SharedFileSharedFile object represents a file which is currently being shared
SocketBaseBase class for Socket classes, all members are protected and destructor is pure virtual - don't use this class directly
SocketClientSocket client is a "connection" that is used to transfer data between two peers
SocketErrorException class
SocketServerA listening socket server which accepts incoming connections (as SocketClient objects)
SocketWatcherSocketWatcher class keeps a list of active sockets, performs checking them for events (in DoPoll() member function), as well as events posting to Event Subsystem when there are events in sockets
SSocket< Module, Type, Protocol >SSocket template represents a socket that can be serve as communication medium between two remote parties
Utils::StopWatchSimple time measuring class, wrapped around getTick() method
StreamDataObject describing an audio/video stream
ThreadWorkThreadWork class indicates a job to be processed in separate thread
TrackableTrackable object allows tracking the object's lifetime by Event subsystem, and thus avoid emitting events from already-destroyed sources
TruePredUnary function object for usage with doGetRange() method
UDPSocketUDP socket is connection-less socket, using the UDP protocol
Detail::UsedRangeRange marked as "in use"
VideoMetaDataVideo meta data
WorkThreadWorkThread class provides an interface for submitting jobs to secondary thread for processing, and takes care of job queue handling