Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

MetaQuery.h

00001 #ifndef ERIS_META_QUERY_H 00002 #define ERIS_META_QUERY_H 00003 00004 #include <Eris/BaseConnection.h> 00005 #include <Eris/Timestamp.h> 00006 #include <Eris/Poll.h> 00007 00008 #include <skstream/skstream.h> 00009 00010 namespace Eris { 00011 00012 class Meta; 00013 00022 class MetaQuery : public BaseConnection 00023 { 00024 public: 00025 MetaQuery(Meta *svr, const std::string &host); 00026 virtual ~MetaQuery(); 00027 00028 SOCKET_TYPE getSocket(); 00029 00031 long getQueryNo() const 00032 { return _queryNo; } 00033 00035 const std::string& getHost() const 00036 { return _host; } 00037 00039 long getElapsed(); 00040 00042 bool isComplete() const 00043 { return _complete; } 00044 00045 bool isReady(PollData &data) const 00046 {return data.isReady(_stream);} 00047 00048 friend class Meta; 00049 protected: 00051 virtual void onConnect(); 00052 virtual void handleFailure(const std::string &msg); 00053 00054 virtual void bindTimeout(Timeout &t, Status sc); 00055 00057 void setComplete(); 00058 00059 const std::string _host; 00060 Meta* _meta; 00061 00062 long _queryNo; 00063 Time::Stamp _stamp; 00064 bool _complete; 00065 }; 00066 00067 00068 } // of namespace 00069 00070 #endif

Generated on Tue Jul 27 21:00:43 2004 for Eris by doxygen 1.3.7