diff --git a/server/imserver/player.cc b/server/imserver/player.cc index d986774..18beb1e 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -898,6 +898,19 @@ void Player::ProcessEvent(long long max_event_idx, const f8::DataSet* data_set) { curr_max_event_idx_ = max_event_idx; if (data_set) { - + for (auto& row : *data_set) { + Event event; + event.idx = a8::XValue(row[0]); + event.sender_id = row[1]; + event.target_id = row[2]; + event.event_name = row[3]; + event.param1 = row[4]; + event.param2 = row[5]; + event.param3 = row[6]; + event.event_data = row[7]; + event.status = a8::XValue(row[8]); + event.createtime = a8::XValue(row[9]); + event_hash_[event.idx] = event; + } } } diff --git a/server/imserver/player.h b/server/imserver/player.h index 615049d..db42542 100644 --- a/server/imserver/player.h +++ b/server/imserver/player.h @@ -131,6 +131,7 @@ private: long long last_event_idx_ = 0; long long curr_max_event_idx_ = 0; long long last_run_tick_ = 0; + std::map event_hash_; std::map friend_hash_; std::map apply_hash_;