Tenncor
Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes | List of all members
dbg::InteractiveSession Struct Referencefinal

Session that makes GRPC client calls. More...

#include <session.hpp>

Inheritance diagram for dbg::InteractiveSession:
Inheritance graph
[legend]
Collaboration diagram for dbg::InteractiveSession:
Collaboration graph
[legend]

Public Member Functions

 InteractiveSession (std::shared_ptr< grpc::ChannelInterface > channel, ClientConfig client_cfg=ClientConfig(), tag::TagRegistry &registry=tag::get_reg())
 
 InteractiveSession (std::string host, ClientConfig client_cfg=ClientConfig())
 
void track (teq::TensptrsT roots) override
 Implementation of iSession. More...
 
void update (teq::TensSetT ignored={}) override
 Implementation of iSession. More...
 
void update_target (teq::TensSetT targeted, teq::TensSetT ignored={}) override
 Implementation of iSession. More...
 
void optimize (const opt::OptCtx &rules)
 Apply input optimization rules using opt module, then re-track. More...
 
void join (void)
 Wait until client completes its request calls. More...
 
void join_then_stop (const std::chrono::time_point< std::chrono::system_clock > &deadline)
 Wait until specified deadline, then terminate all jobs in the client. More...
 
void stop (void)
 Kill all request jobs. More...
 
std::string get_session_id (void) const
 Return session id. More...
 
- Public Member Functions inherited from eteq::iSession
virtual ~iSession (void)=default
 

Public Attributes

std::unique_ptr< tenncor::GraphEmitter::Stub > stub_
 GRPC Client. More...
 
eteq::Session sess_
 Session underneath. More...
 
tag::TagRegistryregistry_
 Tag registry. More...
 

Static Public Attributes

static boost::uuids::random_generator uuid_gen_
 UUID random generator. More...
 

Private Attributes

std::string sess_id_
 
std::unordered_map< teq::iTensor *, size_t > node_ids_
 
std::unordered_set< EdgeInfo, EdgeInfoHashedges_
 
size_t update_it_ = 0
 
GraphEmitterClient client_
 
teq::GraphStat stat_
 
std::unordered_map< teq::iTensor *, std::unordered_set< teq::iOperableFunc * > > parents_
 

Detailed Description

Session that makes GRPC client calls.

Constructor & Destructor Documentation

◆ InteractiveSession() [1/2]

dbg::InteractiveSession::InteractiveSession ( std::shared_ptr< grpc::ChannelInterface >  channel,
ClientConfig  client_cfg = ClientConfig(),
tag::TagRegistry registry = tag::get_reg() 
)
inline

◆ InteractiveSession() [2/2]

dbg::InteractiveSession::InteractiveSession ( std::string  host,
ClientConfig  client_cfg = ClientConfig() 
)
inline

Member Function Documentation

◆ get_session_id()

std::string dbg::InteractiveSession::get_session_id ( void  ) const
inline

Return session id.

◆ join()

void dbg::InteractiveSession::join ( void  )
inline

Wait until client completes its request calls.

◆ join_then_stop()

void dbg::InteractiveSession::join_then_stop ( const std::chrono::time_point< std::chrono::system_clock > &  deadline)
inline

Wait until specified deadline, then terminate all jobs in the client.

◆ optimize()

void dbg::InteractiveSession::optimize ( const opt::OptCtx rules)
inline

Apply input optimization rules using opt module, then re-track.

◆ stop()

void dbg::InteractiveSession::stop ( void  )
inline

Kill all request jobs.

◆ track()

void dbg::InteractiveSession::track ( teq::TensptrsT  roots)
inlineoverridevirtual

Implementation of iSession.

Implements eteq::iSession.

◆ update()

void dbg::InteractiveSession::update ( teq::TensSetT  ignored = {})
inlineoverridevirtual

Implementation of iSession.

Implements eteq::iSession.

◆ update_target()

void dbg::InteractiveSession::update_target ( teq::TensSetT  targeted,
teq::TensSetT  ignored = {} 
)
inlineoverridevirtual

Implementation of iSession.

Implements eteq::iSession.

Member Data Documentation

◆ client_

GraphEmitterClient dbg::InteractiveSession::client_
private

◆ edges_

std::unordered_set<EdgeInfo,EdgeInfoHash> dbg::InteractiveSession::edges_
private

◆ node_ids_

std::unordered_map<teq::iTensor*,size_t> dbg::InteractiveSession::node_ids_
private

◆ parents_

std::unordered_map<teq::iTensor*, std::unordered_set<teq::iOperableFunc*> > dbg::InteractiveSession::parents_
private

◆ registry_

tag::TagRegistry& dbg::InteractiveSession::registry_

Tag registry.

◆ sess_

eteq::Session dbg::InteractiveSession::sess_

Session underneath.

◆ sess_id_

std::string dbg::InteractiveSession::sess_id_
private

◆ stat_

teq::GraphStat dbg::InteractiveSession::stat_
private

◆ stub_

std::unique_ptr<tenncor::GraphEmitter::Stub> dbg::InteractiveSession::stub_

GRPC Client.

◆ update_it_

size_t dbg::InteractiveSession::update_it_ = 0
private

◆ uuid_gen_

boost::uuids::random_generator dbg::InteractiveSession::uuid_gen_
static

UUID random generator.


The documentation for this struct was generated from the following file: