virtual void OnTimedOut(ResultCb* cb) = 0;
};
- ResultCb(IEvent* listener, int seq_num, unsigned int timeout,
+ ResultCb(IEvent* listener, int req_id, unsigned int timeout,
amd_app_request_broker_result_cb cb,
void* user_data)
- : listener_(listener), seq_num_(seq_num), cb_(cb), user_data_(user_data) {
+ : listener_(listener), req_id_(req_id), cb_(cb), user_data_(user_data) {
timer_ = g_timeout_add(timeout, OnTimedOut, this);
}
g_source_remove(timer_);
}
- int GetSeqNum() const { return seq_num_; }
+ int GetRequestId() const { return req_id_; }
void Invoke(int result) {
if (cb_) {
private:
IEvent* listener_;
- int seq_num_;
+ int req_id_;
amd_app_request_broker_result_cb cb_;
void* user_data_;
guint timer_ = 0;
return shared_from_this();
}
- void AddResultCb(int seq_num, unsigned int timeout,
+ void AddResultCb(int req_id, unsigned int timeout,
amd_app_request_broker_result_cb cb, void* user_data) {
- result_cbs_[seq_num] =
- std::make_shared<ResultCb>(this, seq_num, timeout, cb, user_data);
+ result_cbs_[req_id] =
+ std::make_shared<ResultCb>(this, req_id, timeout, cb, user_data);
}
- void RemoveResultCb(int seq_num) {
- result_cbs_.erase(seq_num);
+ void RemoveResultCb(int req_id) {
+ result_cbs_.erase(req_id);
}
- std::shared_ptr<ResultCb> FindResultCb(int seq_num) {
- auto found = result_cbs_.find(seq_num);
+ std::shared_ptr<ResultCb> FindResultCb(int req_id) {
+ auto found = result_cbs_.find(req_id);
if (found == result_cbs_.end())
return nullptr;
private:
void OnTimedOut(ResultCb* cb) override {
cb->Invoke(-ETIMEDOUT);
- RemoveResultCb(cb->GetSeqNum());
+ RemoveResultCb(cb->GetRequestId());
}
static gboolean OnDataReceived(GIOChannel* channel, GIOCondition cond,
gboolean ClientChannel::OnDataReceived(GIOChannel* channel, GIOCondition cond,
gpointer user_data) {
auto* handle = static_cast<ClientChannel*>(user_data);
- int seq_num = -1;
- int ret = handle->Receive(&seq_num, sizeof(int));
+ int req_id = -1;
+ int ret = handle->Receive(&req_id, sizeof(int));
if (ret != 0)
_E("Failed to receive seq num");
if (ret != 0)
res = -ECOMM;
- _W("seq(%d), pid(%d), result(%d)", seq_num, handle->GetPid(), ret);
- auto result_cb = handle->FindResultCb(seq_num);
+ _W("id(%d), pid(%d), result(%d)", req_id, handle->GetPid(), ret);
+ auto result_cb = handle->FindResultCb(req_id);
if (result_cb != nullptr)
result_cb->Invoke(res);
}
if (res != 0) {
- _E("Error occurs. seq(%d), result(%d), pid(%d), fd(%d)",
- seq_num, res, handle->GetPid(), handle->GetFd());
+ _E("Error occurs. id(%d), result(%d), pid(%d), fd(%d)",
+ req_id, res, handle->GetPid(), handle->GetFd());
handle->InvokeAllResultCbs(-ECOMM);
handle->ClearResultCbs();
return G_SOURCE_REMOVE;
}
-int GenerateSeqNum() {
- static int seq_num;
- if ((seq_num + 1) < 0)
- seq_num = 0;
+int GenerateRequestId() {
+ static int req_id;
+ if ((req_id + 1) < 0)
+ req_id = 0;
- return ++seq_num;
+ return ++req_id;
}
} // namespace
extern "C" EXPORT_API int amd_app_request_broker_send(
amd_app_request_t* request, amd_app_request_broker_result_cb callback,
void *user_data) {
- int seq_num = GenerateSeqNum();
- _W("seq(%d), pid(%d), uid(%u), cmd(%d)",
- seq_num, request->pid, request->uid, request->cmd);
+ int req_id = GenerateRequestId();
+ _W("id(%d), pid(%d), uid(%u), cmd(%d)",
+ req_id, request->pid, request->uid, request->cmd);
auto& broker = AppRequestBroker::GetInst();
auto channel = broker.FindClientChannel(request->pid);
if (channel == nullptr) {
unsigned int timeout = 5000;
tizen_base::Bundle b(request->data ? request->data : bundle_create(), false,
request->data ? false : true);
- b.Add(AUL_K_SEQ_NUM, std::to_string(seq_num));
+ b.Add(AUL_K_REQUEST_ID, std::to_string(req_id));
if (request->data != nullptr) {
std::string timeout_str = b.GetString(AUL_K_SOCKET_TIMEOUT);
if (!timeout_str.empty() && isdigit(timeout_str[0])) {
return ret;
}
- channel->AddResultCb(seq_num, timeout, callback, user_data);
+ channel->AddResultCb(req_id, timeout, callback, user_data);
return 0;
}