Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to new NetworkChannel interface #94

Merged
merged 18 commits into from
Oct 25, 2024
Merged

Conversation

LasseRosenow
Copy link
Collaborator

@LasseRosenow LasseRosenow commented Oct 24, 2024

Closes #83
Closes #88

Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 39461 39461 0.00
data 744 744 0.00
bss 480 480 0.00
total 40685 40685 0.00

action_test_c

from to increase (%)
text 39250 39250 0.00
data 744 744 0.00
bss 480 480 0.00
total 40474 40474 0.00

delayed_conn_test_c

from to increase (%)
text 42745 42745 0.00
data 736 736 0.00
bss 480 480 0.00
total 43961 43961 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 26242 26242 0.00
data 720 720 0.00
bss 480 480 0.00
total 27442 27442 0.00

physical_action_test_c

from to increase (%)
text 40463 40463 0.00
data 761 761 0.00
bss 2016 2016 0.00
total 43240 43240 0.00

port_test_c

from to increase (%)
text 42620 42620 0.00
data 736 736 0.00
bss 480 480 0.00
total 43836 43836 0.00

reaction_queue_test_c

from to increase (%)
text 25906 25906 0.00
data 720 720 0.00
bss 480 480 0.00
total 27106 27106 0.00

shutdown_test_c

from to increase (%)
text 36731 36731 0.00
data 744 744 0.00
bss 2688 2688 0.00
total 40163 40163 0.00

startup_test_c

from to increase (%)
text 36062 36062 0.00
data 744 744 0.00
bss 2464 2464 0.00
total 39270 39270 0.00

timer_test_c

from to increase (%)
text 36248 36248 0.00
data 736 736 0.00
bss 480 480 0.00
total 37464 37464 0.00

4 similar comments
Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 39461 39461 0.00
data 744 744 0.00
bss 480 480 0.00
total 40685 40685 0.00

action_test_c

from to increase (%)
text 39250 39250 0.00
data 744 744 0.00
bss 480 480 0.00
total 40474 40474 0.00

delayed_conn_test_c

from to increase (%)
text 42745 42745 0.00
data 736 736 0.00
bss 480 480 0.00
total 43961 43961 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 26242 26242 0.00
data 720 720 0.00
bss 480 480 0.00
total 27442 27442 0.00

physical_action_test_c

from to increase (%)
text 40463 40463 0.00
data 761 761 0.00
bss 2016 2016 0.00
total 43240 43240 0.00

port_test_c

from to increase (%)
text 42620 42620 0.00
data 736 736 0.00
bss 480 480 0.00
total 43836 43836 0.00

reaction_queue_test_c

from to increase (%)
text 25906 25906 0.00
data 720 720 0.00
bss 480 480 0.00
total 27106 27106 0.00

shutdown_test_c

from to increase (%)
text 36731 36731 0.00
data 744 744 0.00
bss 2688 2688 0.00
total 40163 40163 0.00

startup_test_c

from to increase (%)
text 36062 36062 0.00
data 744 744 0.00
bss 2464 2464 0.00
total 39270 39270 0.00

timer_test_c

from to increase (%)
text 36248 36248 0.00
data 736 736 0.00
bss 480 480 0.00
total 37464 37464 0.00

Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 39461 39461 0.00
data 744 744 0.00
bss 480 480 0.00
total 40685 40685 0.00

action_test_c

from to increase (%)
text 39250 39250 0.00
data 744 744 0.00
bss 480 480 0.00
total 40474 40474 0.00

delayed_conn_test_c

from to increase (%)
text 42745 42745 0.00
data 736 736 0.00
bss 480 480 0.00
total 43961 43961 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 26242 26242 0.00
data 720 720 0.00
bss 480 480 0.00
total 27442 27442 0.00

physical_action_test_c

from to increase (%)
text 40463 40463 0.00
data 761 761 0.00
bss 2016 2016 0.00
total 43240 43240 0.00

port_test_c

from to increase (%)
text 42620 42620 0.00
data 736 736 0.00
bss 480 480 0.00
total 43836 43836 0.00

reaction_queue_test_c

from to increase (%)
text 25906 25906 0.00
data 720 720 0.00
bss 480 480 0.00
total 27106 27106 0.00

shutdown_test_c

from to increase (%)
text 36731 36731 0.00
data 744 744 0.00
bss 2688 2688 0.00
total 40163 40163 0.00

startup_test_c

from to increase (%)
text 36062 36062 0.00
data 744 744 0.00
bss 2464 2464 0.00
total 39270 39270 0.00

timer_test_c

from to increase (%)
text 36248 36248 0.00
data 736 736 0.00
bss 480 480 0.00
total 37464 37464 0.00

Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 39461 39461 0.00
data 744 744 0.00
bss 480 480 0.00
total 40685 40685 0.00

action_test_c

from to increase (%)
text 39250 39250 0.00
data 744 744 0.00
bss 480 480 0.00
total 40474 40474 0.00

delayed_conn_test_c

from to increase (%)
text 42745 42745 0.00
data 736 736 0.00
bss 480 480 0.00
total 43961 43961 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 26242 26242 0.00
data 720 720 0.00
bss 480 480 0.00
total 27442 27442 0.00

physical_action_test_c

from to increase (%)
text 40463 40463 0.00
data 761 761 0.00
bss 2016 2016 0.00
total 43240 43240 0.00

port_test_c

from to increase (%)
text 42620 42620 0.00
data 736 736 0.00
bss 480 480 0.00
total 43836 43836 0.00

reaction_queue_test_c

from to increase (%)
text 25906 25906 0.00
data 720 720 0.00
bss 480 480 0.00
total 27106 27106 0.00

shutdown_test_c

from to increase (%)
text 36731 36731 0.00
data 744 744 0.00
bss 2688 2688 0.00
total 40163 40163 0.00

startup_test_c

from to increase (%)
text 36062 36062 0.00
data 744 744 0.00
bss 2464 2464 0.00
total 39270 39270 0.00

timer_test_c

from to increase (%)
text 36248 36248 0.00
data 736 736 0.00
bss 480 480 0.00
total 37464 37464 0.00

Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 39461 39461 0.00
data 744 744 0.00
bss 480 480 0.00
total 40685 40685 0.00

action_test_c

from to increase (%)
text 39250 39250 0.00
data 744 744 0.00
bss 480 480 0.00
total 40474 40474 0.00

delayed_conn_test_c

from to increase (%)
text 42745 42745 0.00
data 736 736 0.00
bss 480 480 0.00
total 43961 43961 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 26242 26242 0.00
data 720 720 0.00
bss 480 480 0.00
total 27442 27442 0.00

physical_action_test_c

from to increase (%)
text 40463 40463 0.00
data 761 761 0.00
bss 2016 2016 0.00
total 43240 43240 0.00

port_test_c

from to increase (%)
text 42620 42620 0.00
data 736 736 0.00
bss 480 480 0.00
total 43836 43836 0.00

reaction_queue_test_c

from to increase (%)
text 25906 25906 0.00
data 720 720 0.00
bss 480 480 0.00
total 27106 27106 0.00

shutdown_test_c

from to increase (%)
text 36731 36731 0.00
data 744 744 0.00
bss 2688 2688 0.00
total 40163 40163 0.00

startup_test_c

from to increase (%)
text 36062 36062 0.00
data 744 744 0.00
bss 2464 2464 0.00
total 39270 39270 0.00

timer_test_c

from to increase (%)
text 36248 36248 0.00
data 736 736 0.00
bss 480 480 0.00
total 37464 37464 0.00

@LasseRosenow LasseRosenow force-pushed the new-network-channel-interface branch from 8c68249 to 70e8764 Compare October 25, 2024 15:06
Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 43239 43239 0.00
data 752 752 0.00
bss 480 480 0.00
total 44471 44471 0.00

action_test_c

from to increase (%)
text 43028 43028 0.00
data 752 752 0.00
bss 480 480 0.00
total 44260 44260 0.00

delayed_conn_test_c

from to increase (%)
text 47434 47434 0.00
data 744 744 0.00
bss 480 480 0.00
total 48658 48658 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 27185 27185 0.00
data 728 728 0.00
bss 480 480 0.00
total 28393 28393 0.00

nanopb_test_c

from to increase (%)
text 42362 42362 0.00
data 744 744 0.00
bss 320 320 0.00
total 43426 43426 0.00

physical_action_test_c

from to increase (%)
text 44240 44240 0.00
data 769 769 0.00
bss 2048 2048 0.00
total 47057 47057 0.00

port_test_c

from to increase (%)
text 47309 47309 0.00
data 744 744 0.00
bss 480 480 0.00
total 48533 48533 0.00

reaction_queue_test_c

from to increase (%)
text 26849 26849 0.00
data 728 728 0.00
bss 480 480 0.00
total 28057 28057 0.00

request_shutdown_test_c

from to increase (%)
text 43819 43819 0.00
data 744 744 0.00
bss 480 480 0.00
total 45043 45043 0.00

shutdown_test_c

from to increase (%)
text 40411 40411 0.00
data 752 752 0.00
bss 2720 2720 0.00
total 43883 43883 0.00

startup_test_c

from to increase (%)
text 39742 39742 0.00
data 752 752 0.00
bss 2496 2496 0.00
total 42990 42990 0.00

timer_test_c

from to increase (%)
text 39815 39815 0.00
data 744 744 0.00
bss 2528 2528 0.00
total 43087 43087 0.00

Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 43239 43239 0.00
data 752 752 0.00
bss 480 480 0.00
total 44471 44471 0.00

action_test_c

from to increase (%)
text 43028 43028 0.00
data 752 752 0.00
bss 480 480 0.00
total 44260 44260 0.00

delayed_conn_test_c

from to increase (%)
text 47434 47434 0.00
data 744 744 0.00
bss 480 480 0.00
total 48658 48658 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 27185 27185 0.00
data 728 728 0.00
bss 480 480 0.00
total 28393 28393 0.00

nanopb_test_c

from to increase (%)
text 42362 42362 0.00
data 744 744 0.00
bss 320 320 0.00
total 43426 43426 0.00

physical_action_test_c

from to increase (%)
text 44240 44240 0.00
data 769 769 0.00
bss 2048 2048 0.00
total 47057 47057 0.00

port_test_c

from to increase (%)
text 47309 47309 0.00
data 744 744 0.00
bss 480 480 0.00
total 48533 48533 0.00

reaction_queue_test_c

from to increase (%)
text 26849 26849 0.00
data 728 728 0.00
bss 480 480 0.00
total 28057 28057 0.00

request_shutdown_test_c

from to increase (%)
text 43819 43819 0.00
data 744 744 0.00
bss 480 480 0.00
total 45043 45043 0.00

shutdown_test_c

from to increase (%)
text 40411 40411 0.00
data 752 752 0.00
bss 2720 2720 0.00
total 43883 43883 0.00

startup_test_c

from to increase (%)
text 39742 39742 0.00
data 752 752 0.00
bss 2496 2496 0.00
total 42990 42990 0.00

timer_test_c

from to increase (%)
text 39815 39815 0.00
data 744 744 0.00
bss 2528 2528 0.00
total 43087 43087 0.00

Copy link
Contributor

Memory usage after merging this PR will be:

Memory Report

action_microstep_test_c

from to increase (%)
text 43239 43239 0.00
data 752 752 0.00
bss 480 480 0.00
total 44471 44471 0.00

action_test_c

from to increase (%)
text 43028 43028 0.00
data 752 752 0.00
bss 480 480 0.00
total 44260 44260 0.00

delayed_conn_test_c

from to increase (%)
text 47434 47434 0.00
data 744 744 0.00
bss 480 480 0.00
total 48658 48658 0.00

event_payload_pool_test_c

from to increase (%)
text 18297 18297 0.00
data 624 624 0.00
bss 320 320 0.00
total 19241 19241 0.00

event_queue_test_c

from to increase (%)
text 27185 27185 0.00
data 728 728 0.00
bss 480 480 0.00
total 28393 28393 0.00

nanopb_test_c

from to increase (%)
text 42362 42362 0.00
data 744 744 0.00
bss 320 320 0.00
total 43426 43426 0.00

physical_action_test_c

from to increase (%)
text 44240 44240 0.00
data 769 769 0.00
bss 2048 2048 0.00
total 47057 47057 0.00

port_test_c

from to increase (%)
text 47309 47309 0.00
data 744 744 0.00
bss 480 480 0.00
total 48533 48533 0.00

reaction_queue_test_c

from to increase (%)
text 26849 26849 0.00
data 728 728 0.00
bss 480 480 0.00
total 28057 28057 0.00

request_shutdown_test_c

from to increase (%)
text 43819 43819 0.00
data 744 744 0.00
bss 480 480 0.00
total 45043 45043 0.00

shutdown_test_c

from to increase (%)
text 40411 40411 0.00
data 752 752 0.00
bss 2720 2720 0.00
total 43883 43883 0.00

startup_test_c

from to increase (%)
text 39742 39742 0.00
data 752 752 0.00
bss 2496 2496 0.00
total 42990 42990 0.00

timer_test_c

from to increase (%)
text 39815 39815 0.00
data 744 744 0.00
bss 2528 2528 0.00
total 43087 43087 0.00

@LasseRosenow
Copy link
Collaborator Author

LasseRosenow commented Oct 25, 2024

Okay this should be finished now.

I am not sure why these tests fail. It seems my unit test cannot find the tcp_ip_channel.c file, but locally it compiles and runs on my computer.

The client and server seem to be non blocking now, so the configuration in tcp_ip_channel.c was successful from what I can see. I added tests for this also.
The way the test works is a bit rough for now: If the tcp_ip_channel blocks even though not allowed, the test will probably never finish. I am not sure if the CI has timeouts for that.

But as long as everything finishes running at least we know it is non-blocking. :) 🤓

test/unit/mock.c Outdated
// void setUp(void) {}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure. It seems there is something wrong with the cmake configuration.
I am using these functions in the new network_channels_test.c and the compiler was complaining about multiple implementations for these functions.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By commenting out these implementations in mock.c it compiled.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, on my end I get undefined reference errors when these functions are not there...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I just defined them that way because we are not using them for any other test

}
}
self->super.close((NetworkChannel *)self);
self->receive_thread = 0;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is needed so that the free function does not cleanup threads that don't exist anymore if you clean and recreate the same tcpchannel. (I noticed this when running my new unit test)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because sometimes we recreate the tcp_ip_channel but without a new thread so the thread is still closed in reality

@@ -220,7 +232,7 @@ void TcpIpChannel_register_callback(NetworkChannel *untyped_self,
throw("pthread_attr_init failed");
}
/* TODO: RIOT posix-wrappers don't have pthread_attr_setstack yet */
#ifdef PLATFORM_RIOT
#if defined(PLATFORM_RIOT) && !defined(__USE_XOPEN2K)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When compiling for RIOT native BOARD we otherwise get a deprecated warning. Native does support the new setstack function

LF_DEBUG(NET, "Closing TCP/IP Channel");
TcpIpChannel *self = (TcpIpChannel *)untyped_self;

if (self->server) {
if (self->server && self->client != 0) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This extra check is needed because in my test I sometimes just open a connection only and don't actually create a client socket. Then cleaning a client socket here creates an error.

@@ -33,7 +33,6 @@ struct TcpIpChannel {

fd_set set;
bool server;
bool blocking;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This variable is unused

@LasseRosenow
Copy link
Collaborator Author

Okay I added some comments to explain some important code parts

Copy link
Contributor

Coverage after merging new-network-channel-interface into main will be

58.96%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
external/nanopb
   pb_common.c47.87%34.38%63.64%52.94%100, 100, 100, 102, 110, 14–15, 152, 166, 168, 171–172, 172, 172, 177, 181, 184–185, 20, 20, 201, 203, 210, 215, 226, 231–232, 238, 238, 238, 241–242, 246, 248, 248, 248, 250, 254, 260, 263, 265, 265, 265, 267, 269, 269, 269, 272–273, 295, 297, 300, 302, 302, 302, 304, 306, 306, 306, 308, 308, 308, 308, 308, 310, 313, 313, 313, 313, 313, 315, 320, 44, 46–48, 50–55, 58, 60–63, 65–70, 74, 77–78, 84, 86, 88–89, 89, 89–90, 90, 90, 93
   pb_decode.c26.86%17.14%54.05%34.59%100, 1007, 1011–1012, 1012, 1012, 1022, 1024, 1024, 1024–1025, 1027, 1030, 1032, 1032, 1032, 1034, 1038, 1038, 1038, 104, 1042, 1042, 1045, 1045, 1045, 1047, 1047, 1047, 1049, 105, 105, 105, 1050, 1053, 1053, 1053, 1055, 1059, 1059, 1059, 1061, 1063, 1063, 1063–1064, 1066, 1066, 1066, 1069, 1074, 1074, 1074–1076, 108, 1082, 1082, 1082, 1084, 1084, 1084, 1089, 1089, 1089, 109, 109, 109, 1090, 1090, 1090, 1092, 1092, 1092, 1095–1097, 1100, 1103–1104, 1110–1111, 1115–1116, 1116, 1116, 1118, 1118, 1118, 1125, 1129–1130, 1133, 1135, 1135, 1135–1136, 1136, 1136, 1140, 1143, 1145, 1145, 1145, 115, 1154, 1158, 1158, 1158, 116, 1160, 1165, 1165, 1165–1166, 1168, 1170, 1170, 1170–1171, 1179, 127–128, 128, 128, 131–132, 132, 132, 1336, 1341, 1346, 1349, 1349, 1349–1350, 1352–1353, 1356, 1359, 1359, 1359–1360, 1362, 1362, 1362–1363, 1365, 1367, 1370, 1377, 1377, 1377–1378, 1382, 1389, 1393, 1400, 1400, 1400–1401, 1405, 1416, 1420, 1422, 1430–1431, 1434–1436, 1438, 1438, 1438–1440, 1440, 1440–1441, 1443, 1443, 1443, 1445–1446, 1446, 1446, 1456, 1458, 1458, 1458–1459, 1463–1464, 1481, 1483, 1483, 1483–1485, 1485, 1485–1486, 1488, 1488, 1488, 1490–1491, 1491, 1491, 1503–1504, 1506–1507, 1507, 1507, 1510–1511, 1511, 1511, 1513, 1516, 1516, 1516, 1528–1529, 1529, 1529, 1537, 1541, 1543, 1543, 1543–1544, 1546, 1546, 1546–1547, 1547, 1547, 1550, 1552, 1552, 1552–1553, 1553, 1553, 1555, 1555, 1555, 1558, 1558, 1558, 1570, 1570, 1570–1571, 1571, 1571, 1574, 1576, 1576, 1576–1577, 1584, 1593–1594, 1596–1597, 1597, 1597, 1602, 1602, 1602, 1605–1606, 1606, 1606, 1608, 1610, 1610, 1610, 1612, 1618, 1618, 1624–1625, 1633–1634, 1639, 1643, 1643, 1643–1644, 1646, 1646, 1646–1647, 1647, 1647, 1649, 1649, 1649, 1652–1653, 1656, 1656, 1656–1657, 1657, 1657, 1659, 176, 178, 178, 178, 180, 180, 180, 182, 186, 189, 197–198, 202, 202, 202–203, 205, 205, 205, 208, 208, 208–209, 209, 209–210, 210, 210, 210, 210, 212, 212, 212, 212, 212, 214, 214, 214, 217, 217, 217, 219, 219, 219, 219, 219, 221, 221, 221, 223, 227, 229–230, 230, 230, 251–252, 254, 254, 254–255, 255, 255, 266, 271, 271, 271–273, 273, 273–274, 277, 280, 280, 280–281, 288, 298, 300, 308, 310, 310, 310, 310, 310, 310, 312–316, 316, 316, 323, 325–326, 326, 326, 326, 326, 328–329, 332–333, 333, 333–334, 334, 334, 336, 336, 336–338, 338, 338–339, 341–343, 345–347, 349, 355, 355, 355, 365–366, 369–370, 370, 370, 379–380, 380, 380–381, 398, 398, 398, 398, 398, 398, 400–401, 401, 401, 401, 401–402, 402, 402, 404,

@LasseRosenow
Copy link
Collaborator Author

About the test name:

I named it network channel test because except the setup function the test is implementation independent.

In theory once we have more channels we could run these tests all in one place and share the code.

We only need to call the correct constructors accordingly in setup

But it is okay to call it tcp for now. Maybe we can revisit once we have more channels

@@ -132,7 +144,7 @@ lf_ret_t TcpIpChannel_send(NetworkChannel *untyped_self, TaggedMessage *message)
return LF_OK;
}

TaggedMessage *TcpIpChannel_receive(NetworkChannel *untyped_self) {
static TaggedMessage *TcpIpChannel_receive(NetworkChannel *untyped_self) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like static functions, but I like const pointers better, we should start using them also

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree ;)

@erlingrj
Copy link
Collaborator

This looks great to me. A good first step towards stabilizing the NetworkChannel!

@erlingrj erlingrj merged commit 94366f8 into main Oct 25, 2024
1 of 2 checks passed
@erlingrj erlingrj deleted the new-network-channel-interface branch October 25, 2024 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make TcpIpChannel connect call non-blocking Define the NetworkChannel interface
2 participants