OpendTect  6.3
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
Network::RequestConnection Class Reference
Inheritance diagram for Network::RequestConnection:
[legend]

Public Member Functions

 RequestConnection (const char *servername, unsigned short serverport, bool multithreaded=true, int connectiontimeout=-1)
 Initiates communications. More...
 
 RequestConnection (Socket *)
 
 ~RequestConnection ()
 
bool isOK () const
 is the conn usable? More...
 
bool stillTrying () const
 if not OK, may it become? More...
 
const char * server () const
 
unsigned short port () const
 
int ID () const
 
bool sendPacket (const RequestPacket &, bool waitforfinish=false)
 
RefMan< RequestPacketpickupPacket (od_int32 reqid, int timeout, int *errorcode=0)
 
RefMan< RequestPacketgetNextExternalPacket ()
 
bool isMultiThreaded ()
 
Socket * socket ()
 
uiString errMsg () const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 

Static Public Member Functions

static int cInvalidRequest ()
 
static int cTimeout ()
 
static int cDisconnected ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Public Attributes

CNotifier< RequestConnection, od_int32packetArrived
 
Notifier< RequestConnectionconnectionClosed
 

Private Member Functions

 mODTextTranslationClass (RequestConnection)
 
void sendQueueCB (CallBacker *)
 
void socketThreadFunc (CallBacker *)
 
void connectToHost (bool witheventloop)
 
void connCloseCB (CallBacker *)
 
void newConnectionCB (CallBacker *)
 
void dataArrivedCB (CallBacker *)
 
bool doSendPacket (const RequestPacket &, bool waitforfinish)
 
bool readFromSocket ()
 
bool writeToSocket ()
 
RefMan< RequestPacketgetNextAlreadyRead (int)
 
void requestEnded (od_int32)
 

Private Attributes

uiString errmsg_
 
TypeSet< od_int32ourrequestids_
 
ObjectSet< RequestPacketreceivedpackets_
 
Threads::ConditionVar lock_
 
Socket * socket_
 
int timeout_
 
bool ownssocket_
 
int id_
 
BufferString servername_
 
unsigned short serverport_
 
Threads::Threadsocketthread_
 
QEventLoop * eventloop_
 
Threads::ConditionVareventlooplock_
 
ObjectSet< PacketSendDatasendqueue_
 

Friends

struct PacketSendData
 
class RequestConnectionSender
 

Additional Inherited Members

- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 

Detailed Description

Constructor & Destructor Documentation

Network::RequestConnection::RequestConnection ( const char *  servername,
unsigned short  serverport,
bool  multithreaded = true,
int  connectiontimeout = -1 
)

Initiates communications.

Network::RequestConnection::RequestConnection ( Socket *  )

Socket does NOT become mine. Socket should be connected to whomever is my counterpart.

Network::RequestConnection::~RequestConnection ( )

Member Function Documentation

static int Network::RequestConnection::cDisconnected ( )
inlinestatic
static int Network::RequestConnection::cInvalidRequest ( )
inlinestatic
void Network::RequestConnection::connCloseCB ( CallBacker )
private
void Network::RequestConnection::connectToHost ( bool  witheventloop)
private
static int Network::RequestConnection::cTimeout ( )
inlinestatic
void Network::RequestConnection::dataArrivedCB ( CallBacker )
private
bool Network::RequestConnection::doSendPacket ( const RequestPacket ,
bool  waitforfinish 
)
private
uiString Network::RequestConnection::errMsg ( ) const
inline
RefMan<RequestPacket> Network::RequestConnection::getNextAlreadyRead ( int  )
private
RefMan<RequestPacket> Network::RequestConnection::getNextExternalPacket ( )
int Network::RequestConnection::ID ( ) const
inline
bool Network::RequestConnection::isMultiThreaded ( )
inline
bool Network::RequestConnection::isOK ( ) const

is the conn usable?

Network::RequestConnection::mODTextTranslationClass ( RequestConnection  )
private
void Network::RequestConnection::newConnectionCB ( CallBacker )
private
RefMan<RequestPacket> Network::RequestConnection::pickupPacket ( od_int32  reqid,
int  timeout,
int *  errorcode = 0 
)

Must be called from same thread as construcor unless 'multithreaded' flag was set on constructor.

unsigned short Network::RequestConnection::port ( ) const
inline
bool Network::RequestConnection::readFromSocket ( )
private
void Network::RequestConnection::requestEnded ( od_int32  )
private
bool Network::RequestConnection::sendPacket ( const RequestPacket ,
bool  waitforfinish = false 
)

Must be called from same thread as construcor unless 'multithreaded' flag was set on constructor.

void Network::RequestConnection::sendQueueCB ( CallBacker )
private
const char* Network::RequestConnection::server ( ) const
inline
Socket* Network::RequestConnection::socket ( )
inline
void Network::RequestConnection::socketThreadFunc ( CallBacker )
private
bool Network::RequestConnection::stillTrying ( ) const

if not OK, may it become?

bool Network::RequestConnection::writeToSocket ( )
private

Friends And Related Function Documentation

friend struct PacketSendData
friend
friend class RequestConnectionSender
friend

Member Data Documentation

Notifier<RequestConnection> Network::RequestConnection::connectionClosed
uiString Network::RequestConnection::errmsg_
private
QEventLoop* Network::RequestConnection::eventloop_
private
Threads::ConditionVar* Network::RequestConnection::eventlooplock_
private
int Network::RequestConnection::id_
private
Threads::ConditionVar Network::RequestConnection::lock_
private
TypeSet<od_int32> Network::RequestConnection::ourrequestids_
private
bool Network::RequestConnection::ownssocket_
private
CNotifier<RequestConnection,od_int32> Network::RequestConnection::packetArrived
ObjectSet<RequestPacket> Network::RequestConnection::receivedpackets_
private
ObjectSet<PacketSendData> Network::RequestConnection::sendqueue_
private
BufferString Network::RequestConnection::servername_
private
unsigned short Network::RequestConnection::serverport_
private
Socket* Network::RequestConnection::socket_
private
Threads::Thread* Network::RequestConnection::socketthread_
private
int Network::RequestConnection::timeout_
private

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017