Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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 namespace Eris {
00009 
00010 class Meta;     
00011 
00020 class MetaQuery : public BaseConnection
00021 {
00022 public: 
00023         MetaQuery(Meta *svr, const std::string &host);
00024         virtual ~MetaQuery();
00025 
00026         SOCKET_TYPE getSocket();
00027         
00029         long getQueryNo() const
00030         { return _queryNo; }
00031 
00033         const std::string& getHost() const
00034         { return _host; }
00035         
00037         long getElapsed();
00038         
00040         bool isComplete() const
00041         { return _complete; }
00042 
00043         bool isReady(PollData &data) const
00044         {return data.isReady(_stream);}
00045                 
00046         friend class Meta;
00047 protected:
00049         virtual void onConnect();
00050         virtual void handleFailure(const std::string &msg);
00051 
00052         virtual void bindTimeout(Timeout &t, Status sc);
00053         
00055         void setComplete();
00056 
00057         const std::string _host;        
00058         Meta* _meta;                    
00059 
00060         long _queryNo;          
00061         Time::Stamp _stamp;     
00062         bool _complete;         
00063 };
00064 
00065 
00066 } // of namespace 
00067 
00068 #endif

Generated on Thu May 22 08:01:03 2003 for Eris by doxygen1.3-rc3