Remove unnecessary copy 59/305159/1
authorChanggyu Choi <changyu.choi@samsung.com>
Mon, 29 Jan 2024 10:26:26 +0000 (19:26 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Mon, 29 Jan 2024 10:26:26 +0000 (19:26 +0900)
Change-Id: I4e54daba33590709ee57e578d2bcb42000025854
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
src/lib/request/request_manager.cc

index ceca5fb..b80eb4f 100644 (file)
@@ -82,15 +82,7 @@ bool RequestManager::AddRequestOnPendingList(RequestPtr req) {
 
 RequestPtr RequestManager::DecodeRequestFromPacket(int client_fd,
     app_pkt_t* pkt, const ucred& cr) {
-  auto builder = Request::Builder()
-      .SetPID(cr.pid)
-      .SetUID(cr.uid)
-      .SetClientFD(client_fd)
-      .SetCmd(pkt->cmd)
-      .SetLength(pkt->len)
-      .SetRaw(pkt->data, pkt->len)
-      .SetOption(pkt->opt);
-
+  auto builder = Request::Builder();
   if (pkt->opt & AUL_SOCK_BUNDLE) {
     auto kb = bundle_decode(pkt->data, pkt->len);
     if (kb == nullptr)
@@ -112,25 +104,32 @@ RequestPtr RequestManager::DecodeRequestFromPacket(int client_fd,
     builder.SetTargetUID(cr.uid);
   }
 
-  builder.SetEventListener(this);
-  return builder.Build();
+  return builder.SetPID(cr.pid)
+      .SetUID(cr.uid)
+      .SetClientFD(client_fd)
+      .SetCmd(pkt->cmd)
+      .SetLength(pkt->len)
+      .SetRaw(pkt->data, pkt->len)
+      .SetOption(pkt->opt)
+      .SetEventListener(this)
+      .Build();
 }
 
 RequestPtr RequestManager::CreateRequestLocal(int cmd, uid_t uid, int pid,
     bundle* kb, int opt) {
-  auto builder = Request::Builder()
-      .SetPID(pid)
+  auto builder = Request::Builder();
+
+  if (kb != nullptr)
+    builder.SetBundle(std::make_shared<tizen_base::Bundle>(kb));
+
+  return builder.SetPID(pid)
       .SetTargetPID(0)
       .SetUID(getuid())
       .SetTargetUID(uid)
       .SetCmd(cmd)
       .SetOption(opt)
-      .SetEventListener(this);
-
-  if (kb != nullptr)
-    builder.SetBundle(std::make_shared<tizen_base::Bundle>(kb));
-
-  return builder.Build();
+      .SetEventListener(this)
+      .Build();
 }
 
 ReplyInfoPtr RequestManager::CreateReplyInfo(Request* req,