Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit a10d3117 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by Jakub Pawłowski
Browse files

connection_manager: one method for direct connect establishment

Currently in stack we have two methods for establishing direct conenct:
* create_le_connection
* direct_connect_add

create_le_connection is making direct call to GD to schedule
direct connection. It relies on timer in GD to stop the attempt after 30
seconds. It doesn't track which app requested direct connect, so it
can't properly cancel direct connect if request was made from multiple
clients, and just one cancels it.

direct_connect_add keeps track of clients that made a request, but it
works only if it's the only function used to establish direct connect.
If create_le_connection, or GD is called directly, the counting breaks.

The logic for scheduling/canceling direct connect using
direct_connect_add was already tested in unit tests, but when
create_le_connection is in use through the stack, those tests don't
reflect the stack behavior.

In create_le_connection, some extra address checks and lookups were
added to prevent stack from attempting direct connect to targetted
announcements. These are copied to direct_connect_add.

Test: atest net_test_conn_multiplexing
Bug: 372202918
Flag: EXEMPT, covered under unittests
Change-Id: I76b2a4d5012fe473aa01a3df89e7b4794689a1d6
parent 8ccbfbd7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment