summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2012-11-27 15:27:18 -0800
committerSage Weil <sage@inktank.com>2012-11-29 16:09:45 -0800
commitf0bf61687870da4d430482eaf5f1f9d6e0b2645f (patch)
treeefd85e5d4d636dee5a443dafa1b1471590c799a9
parentf454bb591d64de6d7986ba099a4f9d1ecc599a55 (diff)
downloadceph-f0bf61687870da4d430482eaf5f1f9d6e0b2645f.tar.gz
msg/Pipe: drop queue helpers
There is a single caller; these only obfuscate. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/msg/Pipe.cc32
-rw-r--r--src/msg/Pipe.h15
2 files changed, 12 insertions, 35 deletions
diff --git a/src/msg/Pipe.cc b/src/msg/Pipe.cc
index 34ded27d77f..404edb589c6 100644
--- a/src/msg/Pipe.cc
+++ b/src/msg/Pipe.cc
@@ -157,25 +157,6 @@ void Pipe::join_reader()
reader_needs_join = false;
}
-
-void Pipe::queue_received(Message *m, int priority)
-{
- assert(pipe_lock.is_locked());
-
- if (delay_thread) {
- utime_t release;
- if (rand() % 10000 < msgr->cct->_conf->ms_inject_delay_probability * 10000.0) {
- release = m->get_recv_stamp();
- release += msgr->cct->_conf->ms_inject_delay_max * (double)(rand() % 10000) / 10000.0;
- lsubdout(msgr->cct, ms, 1) << "queue_received will delay until " << release << " on " << m << " " << *m << dendl;
- }
- delay_thread->queue(release, m);
- return;
- }
-
- in_q->enqueue(m, priority, conn_id);
-}
-
void *Pipe::DelayedDelivery::entry()
{
Mutex::Locker locker(delay_lock);
@@ -1294,7 +1275,18 @@ void Pipe::reader()
ldout(msgr->cct,10) << "reader got message "
<< m->get_seq() << " " << m << " " << *m
<< dendl;
- queue_received(m);
+
+ if (delay_thread) {
+ utime_t release;
+ if (rand() % 10000 < msgr->cct->_conf->ms_inject_delay_probability * 10000.0) {
+ release = m->get_recv_stamp();
+ release += msgr->cct->_conf->ms_inject_delay_max * (double)(rand() % 10000) / 10000.0;
+ lsubdout(msgr->cct, ms, 1) << "queue_received will delay until " << release << " on " << m << " " << *m << dendl;
+ }
+ delay_thread->queue(release, m);
+ } else {
+ in_q->enqueue(m, m->get_priority(), conn_id);
+ }
}
else if (tag == CEPH_MSGR_TAG_CLOSE) {
diff --git a/src/msg/Pipe.h b/src/msg/Pipe.h
index 8b09ec0f27d..c489ec80610 100644
--- a/src/msg/Pipe.h
+++ b/src/msg/Pipe.h
@@ -217,21 +217,6 @@ class DispatchQueue;
static const Pipe& Server(int s);
static const Pipe& Client(const entity_addr_t& pi);
- //we have two queue_received's to allow local signal delivery
- // via Message * (that doesn't actually point to a Message)
- void queue_received(Message *m, int priority);
-
- void queue_received(Message *m) {
- // this is just to make sure that a changeset is working
- // properly; if you start using the refcounting more and have
- // multiple people hanging on to a message, ditch the assert!
- assert(m->nref.read() == 1);
-
- queue_received(m, m->get_priority());
- }
-
- void delayed_delivery();
-
__u32 get_out_seq() { return out_seq; }
bool is_queued() { return !out_q.empty() || keepalive; }