Why were all these data members public? They're accessed by Pipes
and the Accepter and stuff, so maybe that's why...but that's all
internal interface stuff.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
void dispatch_throttle_release(uint64_t msize);
// SimpleMessenger stuff
- public:
Mutex lock;
Cond wait_cond; // for wait()
bool did_bind;
Policy default_policy;
map<int, Policy> policy_map; // entity_name_t::type -> Policy
+ // --- pipes ---
+ set<Pipe*> pipes;
+ list<Pipe*> pipe_reap_queue;
+
+ Mutex global_seq_lock;
+ __u32 global_seq;
+public:
Policy& get_policy(int t) {
if (policy_map.count(t))
return policy_map[t];
return default_policy;
}
- // --- pipes ---
- set<Pipe*> pipes;
- list<Pipe*> pipe_reap_queue;
-
- Mutex global_seq_lock;
- __u32 global_seq;
-
Pipe *connect_rank(const entity_addr_t& addr, int type);
-
virtual void mark_down(const entity_addr_t& addr);
virtual void mark_down(Connection *con);
virtual void mark_down_on_empty(Connection *con);