Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cClientLister Class Reference

#include <cClientLister.h>

Public Member Functions

 cClientLister (const char *pszAppId, const char *pszName=nullptr, const char *pszServer=nullptr)
 
 ~cClientLister ()
 
HRESULT RequestAddToListSync (bool bSecure, const char *psz1, const char *psz2)
 
HRESULT RequestAddToListAsync (bool bSecure, const char *psz1, const char *psz2)
 
void OnTickLister ()
 
 UNITTEST_FRIEND (cClientLister)
 

Public Attributes

cNetAddrName m_Server
 what server am i reporting to ? More...
 
bool m_bServerSecure
 
bool m_bServerAsync
 This server can do secure. HTTPS and/or UDP crypto. More...
 
const char * m_pszAppId
 This server can do async. More...
 
const char * m_pszName
 My unique name that i have claimed. like cSecureId::m_sUserId. More...
 
cHashCode m_PassToken
 My security hashcode. for my claimed name. m_pszAppId + m_pszName + Password. will add Time/k_IntervalMin to send to the server. More...
 

Static Public Attributes

static const TIMESECD_t k_IntervalMin = 10*60
 Cant update any more frequent than this. 10 minutes. Local Clock must be accurate to this interval. More...
 

Detailed Description

Ping (outgoing) the lister server/service/Master and tell the world I'm here. (or I'm still here like a heartbeat) Similar to UPNP. List Myself. Like PingLister, PingClient. Report (Node, App, InstanceId), PassToken. Talks to ClusterMaster List service. May have several optional protocols. 0. UDP (no response) 1. TCP REST JSON (non secure). 2. TCP REST secure. Used mostly for pushing data. use cClientConfig for query of config type data.

Constructor & Destructor Documentation

◆ cClientLister()

GrayLib::cClientLister::cClientLister ( const char *  pszAppId,
const char *  pszName = nullptr,
const char *  pszServer = nullptr 
)

◆ ~cClientLister()

GrayLib::cClientLister::~cClientLister ( )

Member Function Documentation

◆ OnTickLister()

void GrayLib::cClientLister::OnTickLister ( )

List the object periodically. (To the cluster master) Throttled.

◆ RequestAddToListAsync()

HRESULT GrayLib::cClientLister::RequestAddToListAsync ( bool  bSecure,
const char *  psz1,
const char *  psz2 
)

◆ RequestAddToListSync()

HRESULT GrayLib::cClientLister::RequestAddToListSync ( bool  bSecure,
const char *  psz1,
const char *  psz2 
)

◆ UNITTEST_FRIEND()

GrayLib::cClientLister::UNITTEST_FRIEND ( cClientLister  )

Member Data Documentation

◆ k_IntervalMin

const TIMESECD_t GrayLib::cClientLister::k_IntervalMin = 10*60
static

Cant update any more frequent than this. 10 minutes. Local Clock must be accurate to this interval.

◆ m_bServerAsync

bool GrayLib::cClientLister::m_bServerAsync

This server can do secure. HTTPS and/or UDP crypto.

◆ m_bServerSecure

bool GrayLib::cClientLister::m_bServerSecure

◆ m_PassToken

cHashCode GrayLib::cClientLister::m_PassToken

My security hashcode. for my claimed name. m_pszAppId + m_pszName + Password. will add Time/k_IntervalMin to send to the server.

◆ m_pszAppId

const char* GrayLib::cClientLister::m_pszAppId

This server can do async.

What sort of thing am i listing ? like cSecureId::m_sAppId

◆ m_pszName

const char* GrayLib::cClientLister::m_pszName

My unique name that i have claimed. like cSecureId::m_sUserId.

◆ m_Server

cNetAddrName GrayLib::cClientLister::m_Server

what server am i reporting to ?


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