<< " time_id=" << time_event_next_id << ").";
}
-int EventCenter::init(int n, unsigned i, std::string &t)
+int EventCenter::init(int n, unsigned i, const std::string &t)
{
// can't init multi times
assert(nevent == 0);
+ type = t;
idx = i;
if (t == "dpdk") {
ldout(cct, 2) << __func__ << " idx=" << idx << " owner=" << owner << dendl;
if (!global_centers) {
cct->lookup_or_create_singleton_object<EventCenter::AssociatedCenters>(
- global_centers, "AsyncMessenger::EventCenter::global_center");
+ global_centers, "AsyncMessenger::EventCenter::global_center::"+type);
assert(global_centers);
global_centers->centers[idx] = this;
if (driver->need_wakeup()) {
private:
CephContext *cct;
+ std::string type;
int nevent;
// Used only to external event
pthread_t owner;
~EventCenter();
ostream& _event_prefix(std::ostream *_dout);
- int init(int nevent, unsigned idx, std::string &t);
+ int init(int nevent, unsigned idx, const std::string &t);
void set_owner();
pthread_t get_owner() const { return owner; }
unsigned get_id() const { return idx; }
TEST(EventCenterTest, FileEventExpansion) {
vector<int> sds;
EventCenter center(g_ceph_context);
- center.init(100, 0);
+ center.init(100, 0, "posix");
center.set_owner();
EventCallbackRef e(new FakeEvent());
for (int i = 0; i < 300; i++) {
public:
EventCenter center;
explicit Worker(CephContext *c, int idx): cct(c), done(false), center(c) {
- center.init(100, idx);
+ center.init(100, idx, "posix");
}
void stop() {
done = true;