Skip to content

Commit d4eba2d

Browse files
committed
refactor: remove extension group name parameter and add new function to retrieve it
1 parent 04caed6 commit d4eba2d

File tree

4 files changed

+37
-18
lines changed

4 files changed

+37
-18
lines changed

core/include_internal/ten_runtime/extension_context/extension_context.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#include "include_internal/ten_runtime/common/loc.h"
1414
#include "ten_runtime/msg/msg.h"
1515
#include "ten_utils/container/list.h"
16-
#include "ten_utils/lib/atomic.h"
1716
#include "ten_utils/lib/signature.h"
1817
#include "ten_utils/lib/string.h"
1918
#include "ten_utils/sanitizer/thread_check.h"
@@ -71,9 +70,16 @@ TEN_RUNTIME_PRIVATE_API void ten_extension_context_on_close(
7170
ten_extension_context_t *self);
7271

7372
TEN_RUNTIME_PRIVATE_API ten_extension_info_t *
74-
ten_extension_context_get_extension_info_by_name(
75-
ten_extension_context_t *self, const char *app_uri, const char *graph_id,
76-
const char *extension_group_name, const char *extension_name);
73+
ten_extension_context_get_extension_info_by_name(ten_extension_context_t *self,
74+
const char *app_uri,
75+
const char *graph_id,
76+
const char *extension_name);
7777

7878
TEN_RUNTIME_PRIVATE_API bool ten_extension_context_start_extension_group(
7979
ten_extension_context_t *self, ten_error_t *err);
80+
81+
TEN_RUNTIME_PRIVATE_API const char *
82+
ten_extension_context_get_extension_group_name(ten_extension_context_t *self,
83+
const char *app_uri,
84+
const char *graph_id,
85+
const char *extension_name);

core/src/ten_runtime/engine/internal/extension_interface.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,6 @@ void ten_engine_find_extension_info_for_all_extensions_of_extension_thread_task(
236236
ten_extension_context_get_extension_info_by_name(
237237
extension_context, ten_app_get_uri(extension_context->engine->app),
238238
ten_engine_get_id(extension_context->engine, true),
239-
ten_extension_group_get_name(extension_thread->extension_group,
240-
false),
241239
ten_extension_get_name(extension, false));
242240
}
243241

core/src/ten_runtime/engine/msg_interface/common.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ bool ten_engine_dispatch_msg(ten_engine_t *self, ten_shared_ptr_t *msg) {
409409
// current TEN app.
410410
ten_app_push_to_in_msgs_queue(app, msg);
411411
} else {
412-
if (ten_string_is_empty(&dest_loc->extension_group_name)) {
412+
if (ten_string_is_empty(&dest_loc->extension_name)) {
413413
// It means the destination is the current engine, so ask the current
414414
// engine to handle this message.
415415
ten_engine_handle_msg(self, msg);
@@ -419,6 +419,13 @@ bool ten_engine_dispatch_msg(ten_engine_t *self, ten_shared_ptr_t *msg) {
419419
if (self->extension_context) {
420420
bool found = false;
421421

422+
const char *extension_group_name =
423+
ten_extension_context_get_extension_group_name(
424+
self->extension_context,
425+
ten_string_get_raw_str(&dest_loc->app_uri),
426+
ten_string_get_raw_str(&dest_loc->graph_id),
427+
ten_string_get_raw_str(&dest_loc->extension_name));
428+
422429
ten_list_foreach (&self->extension_context->extension_threads, iter) {
423430
ten_extension_thread_t *extension_thread =
424431
ten_ptr_listnode_get(iter.node);
@@ -439,8 +446,8 @@ bool ten_engine_dispatch_msg(ten_engine_t *self, ten_shared_ptr_t *msg) {
439446
ten_extension_group_t *extension_group =
440447
extension_thread->extension_group;
441448

442-
if (ten_string_is_equal(&extension_group->name,
443-
&dest_loc->extension_group_name)) {
449+
if (ten_string_is_equal_c_str(&extension_group->name,
450+
extension_group_name)) {
444451
// Find the correct extension thread, ask it to handle the
445452
// message.
446453
found = true;

core/src/ten_runtime/extension_context/extension_context.c

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ void ten_extension_context_set_on_closed(
214214

215215
ten_extension_info_t *ten_extension_context_get_extension_info_by_name(
216216
ten_extension_context_t *self, const char *app_uri, const char *graph_id,
217-
const char *extension_group_name, const char *extension_name) {
217+
const char *extension_name) {
218218
TEN_ASSERT(self, "Invalid argument.");
219219

220220
// TEN_NOLINTNEXTLINE(thread-check)
@@ -230,8 +230,7 @@ ten_extension_info_t *ten_extension_context_get_extension_info_by_name(
230230
TEN_ASSERT(ten_extension_context_check_integrity(self, false),
231231
"Invalid use of extension_context %p.", self);
232232

233-
TEN_ASSERT(app_uri && extension_group_name && extension_name,
234-
"Should not happen.");
233+
TEN_ASSERT(app_uri && extension_name, "Should not happen.");
235234

236235
ten_extension_info_t *result = NULL;
237236

@@ -249,12 +248,6 @@ ten_extension_info_t *ten_extension_context_get_extension_info_by_name(
249248
continue;
250249
}
251250

252-
if (extension_group_name &&
253-
!ten_string_is_equal_c_str(&extension_info->loc.extension_group_name,
254-
extension_group_name)) {
255-
continue;
256-
}
257-
258251
if (extension_name &&
259252
!ten_string_is_equal_c_str(&extension_info->loc.extension_name,
260253
extension_name)) {
@@ -524,3 +517,18 @@ bool ten_extension_context_start_extension_group(ten_extension_context_t *self,
524517
done:
525518
return result;
526519
}
520+
521+
const char *ten_extension_context_get_extension_group_name(
522+
ten_extension_context_t *self, const char *app_uri, const char *graph_id,
523+
const char *extension_name) {
524+
TEN_ASSERT(self, "Invalid argument.");
525+
TEN_ASSERT(ten_extension_context_check_integrity(self, true),
526+
"Invalid use of extension_context %p.", self);
527+
528+
ten_extension_info_t *extension_info =
529+
ten_extension_context_get_extension_info_by_name(self, app_uri, graph_id,
530+
extension_name);
531+
TEN_ASSERT(extension_info, "Should not happen.");
532+
533+
return ten_string_get_raw_str(&extension_info->loc.extension_group_name);
534+
}

0 commit comments

Comments
 (0)