X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/a4175b2e216a20b86cc872dea8a08005c60617a5..e478ac59e66e89cbc174e781ac715c8644539947:/handle.h diff --git a/handle.h b/handle.h index 6b042fb..d4b6223 100644 --- a/handle.h +++ b/handle.h @@ -1,5 +1,5 @@ // manage a cache of RPC connections. -// assuming cid is a std::string holding the +// assuming cid is a string holding the // host:port of the RPC server you want // to talk to: // @@ -23,23 +23,16 @@ #ifndef handle_h #define handle_h -#include -#include +#include "types.h" #include "rpc/rpc.h" -struct hinfo { - rpcc *cl; - int refcnt; - bool del; - std::string m; - std::mutex cl_mutex; -}; +class hinfo; class handle { private: - struct hinfo *h; + hinfo *h; public: - handle(std::string m); + handle(const string & m); ~handle(); /* safebind will try to bind with the rpc server on the first call. * Since bind may block, the caller probably should not hold a mutex @@ -62,18 +55,6 @@ class handle { rpcc *safebind(); }; -class handle_mgr { - private: - std::mutex handle_mutex; - std::map hmap; - public: - handle_mgr(); - struct hinfo *get_handle(std::string m); - void done_handle(struct hinfo *h); - void delete_handle(std::string m); - void delete_handle_wo(std::string m); -}; - -extern class handle_mgr mgr; +void invalidate_handle(const string & m); #endif