1
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2
// vim: ts=8 sw=2 smarttab
4
* Ceph - scalable distributed file system
6
* Copyright (C) 2004-2006 Sage Weil <sage@newdream.net>
8
* This is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License version 2.1, as published by the Free Software
11
* Foundation. See file COPYING.
17
#ifndef CEPH_FAKEMESSENGER_H
18
#define CEPH_FAKEMESSENGER_H
20
#include "Messenger.h"
21
#include "Dispatcher.h"
28
class FakeMessenger : public Messenger {
33
list<Message*> incoming; // incoming queue
38
FakeMessenger(entity_name_t me);
41
virtual int shutdown();
43
void reset_myname(entity_name_t m);
46
int send_message(Message *m, entity_inst_t dest);
47
int forward_message(Message *m, entity_inst_t dest);
48
int submit_message(Message *m, entity_inst_t dest);
50
int get_dispatch_queue_len() { return qlen; }
52
// -- incoming queue --
53
// (that nothing uses)
54
Message *get_message() {
55
if (!incoming.empty()) {
56
Message *m = incoming.front();
63
bool queue_incoming(Message *m) {
64
incoming.push_back(m);
69
//return incoming.size();
82
int fakemessenger_do_loop();
83
int fakemessenger_do_loop_2();
84
void fakemessenger_startthread();
85
void fakemessenger_stopthread();
86
void fakemessenger_wait();