Commit Graph
121 Commits
Author SHA1 Message Date
Guogang Li 52c80303e3 Enhance on advertising
PiperOrigin-RevId: 655044204
2024-07-22 23:57:16 -07:00
Anay Wadhera e2aac58f2f Remove CORE_ADAPTER_DLL define
PiperOrigin-RevId: 654136693
2024-07-19 15:05:57 -07:00
hai007 09094110c8 Replace dynamic_cast with down_cast
PiperOrigin-RevId: 654066599
2024-07-19 11:17:05 -07:00
hai007 25deb0962f Implement Bluetooth Multiplex.
PiperOrigin-RevId: 651921709
2024-07-12 16:52:46 -07:00
Guogang Li c5869cf5fc Allow multiple clients to discover on BTC
PiperOrigin-RevId: 648735657
2024-07-02 09:01:50 -07:00
Guogang Li 32cee3439b Pause Bluetooth classic discovery
PiperOrigin-RevId: 647333108
2024-06-27 08:52:58 -07:00
Guogang Li 7db26f40c5 Report found legacy device
PiperOrigin-RevId: 646495727
2024-06-25 08:55:40 -07:00
Crisrael Lucero acc38a809b [Nearby Presence] Update ScanManager to trigger changed and lost events
PiperOrigin-RevId: 644072733
2024-06-17 11:17:00 -07:00
Guogang Li bc66c63a48 Fixed the issues to handle on lost advertisement
PiperOrigin-RevId: 641268507
2024-06-07 09:14:10 -07:00
hai007 1c8395eede Fix the bug that the multiplex socket is not closed properly.
PiperOrigin-RevId: 633675141
2024-05-14 12:47:19 -07:00
hai007 7c72774167 Multiplex implementation - Create Multiplex Socket
PiperOrigin-RevId: 632628955
2024-05-10 16:11:26 -07:00
Hai Shang ce030a76b6 internal cleanup
PiperOrigin-RevId: 632285218
2024-05-09 15:20:03 -07:00
Hai Shang 77515694c8 Internal fix.
PiperOrigin-RevId: 628181275
2024-04-25 13:56:13 -07:00
Hai Shang bcad0cae6e Last CL for the 1 bit solution in BLE v2.
PiperOrigin-RevId: 625856655
2024-04-17 17:31:38 -07:00
Daniel Classon 05dac6b184 [Nearby Connections] Rename async scanning flag
Renames the enable_ble_v2_async_scanning_advertising flag to just
enable_ble_v2_async_scanning, reflecting that scanning/advertising
can be enabled independently. Work required to add async
advertising is tracked in b/333408829.

PiperOrigin-RevId: 624254277
2024-04-12 12:15:21 -07:00
hai007 1e1d841965 Multiplex implementation - Create Virtual Output Stream
PiperOrigin-RevId: 623540454
2024-04-10 10:44:50 -07:00
Hai Shang 8f51d92f22 internal fix
PiperOrigin-RevId: 622893779
2024-04-08 10:49:27 -07:00
Hai Shang d2c8fc3cd5 Internal fix
PiperOrigin-RevId: 622865759
2024-04-08 09:18:16 -07:00
Hai Shang ca936891c8 Add start/stop legacyDeviceAdvertising in connections ble v2
PiperOrigin-RevId: 621303221
2024-04-02 14:52:36 -07:00
Hai Shang 6162fb5f80 add legacy_device_discovered_cb to DiscoveredPeripheralCallback
PiperOrigin-RevId: 619702145
2024-03-27 17:45:37 -07:00
hai007 a633a940f4 Multiplex implementation - Frame generation
PiperOrigin-RevId: 616247739
2024-03-15 14:45:01 -07:00
Suet-Fei Li fa2bcbe579 Internal Refactor.
PiperOrigin-RevId: 610806721
2024-02-27 10:56:35 -08:00
Daniel Classon f09368247b [Nearby Connections] Use async StartScanning when flag enabled
Creates the feature flag `enable_ble_v2_async_scanning_advertising` which
enables/disables the use of the async StartScanning, StopScanning,
StartAdvertising, StopAdvertising, etc methods over the soon-to-be deprecated
synchronous versions of those methods. Opted for feature flag over NearbyFlag,
as ChromeOS is the only current consumer and doesn't use Mendel.

Also sets the feature flag to enabled in the ServiceControllerRouter, which
is where ChromeOS sets NC feature flags at startup.

This CL also fully links up the asynchronous Scanning methods. Advertising
will be addressed in a follow up CL.

PiperOrigin-RevId: 608158273
2024-02-18 12:59:02 -08:00
Anay Wadhera 80c0d0916e Introduce basic handling for on lost advertisements.
PiperOrigin-RevId: 602910198
2024-01-30 19:33:35 -08:00
Francis Tsui c2ade33c9c No public changes.
PiperOrigin-RevId: 597033150
2024-01-09 13:46:42 -08:00
Anay Wadhera 7022e6c5d9 Create instant on loss advertisement format
PiperOrigin-RevId: 590680562
2023-12-13 12:33:12 -08:00
Hai Shang dde1588871 internal fix
PiperOrigin-RevId: 589025655
2023-12-07 23:21:12 -08:00
hai007 6ebe52a418 Add Intel PIE based API to set Hotspot client scan channel
PiperOrigin-RevId: 586019580
2023-11-28 10:09:16 -08:00
Hai Shang 6ee53db8f5 Internal fix on p2p_cluster_pcp_handler
PiperOrigin-RevId: 584669043
2023-11-22 10:44:38 -08:00
Janusz Sobczak 746a8b6231 Use AnyInvocable in mediums/ble_v2
PiperOrigin-RevId: 566437160
2023-09-18 15:56:54 -07:00
Janusz Sobczak 48eeee8d2b Migrate to AnyInvocable in webrtc medium
PiperOrigin-RevId: 565805742
2023-09-15 16:26:09 -07:00
Janusz Sobczak 52c3360bd3 Use AnyInvocable in DiscoveredPeripheralCallback
PiperOrigin-RevId: 564523999
2023-09-11 15:48:25 -07:00
Guogang Li ea7aa00e0c Avoid reading GATT server for same advertisement
PiperOrigin-RevId: 558944228
2023-08-21 17:24:03 -07:00
Janusz Sobczak e38ce96964 Replace AcceptedConnectionCallback structs with absl::AnyInvocable
PiperOrigin-RevId: 557949490
2023-08-17 15:14:25 -07:00
Janusz Sobczak 2c55c0cdbd Refactor Pipe implementation
* Remove Pipe classes
* Rename BasePipe to Pipe
* Hide Pipe class in anonymous namespace in pipe.cc
* Add CreatePipe static method
* Replace Payload(std::function<InputStream&()>) with Payload(std::unique_ptr<InputStream>)
* Find&Replace Pipe usages

PiperOrigin-RevId: 557276980
2023-08-15 15:53:58 -07:00
Janusz Sobczak cce7cf59b9 Replace std::function with AnyInvocable
PiperOrigin-RevId: 555650115
2023-08-10 14:17:31 -07:00
Janusz Sobczak 5393daf9f1 Merge logging and types build targets
Both "types" and "logging" build targets included "logging.h"
Merging them together avoids circular dependencies.

PiperOrigin-RevId: 555262816
2023-08-09 19:13:12 -07:00
Hai Shang 66d101926a internal clean up
PiperOrigin-RevId: 547874111
2023-07-13 11:56:55 -07:00
Guogang Li 2c90a61fca Fixed crash when flag update in peripheral tracker
PiperOrigin-RevId: 540294615
2023-06-14 09:35:47 -07:00
Juliet Levesque 6f69e97421 [Nearby Connections] Stop 3 AttemptsToConnect over BluetoothClassic for CancellationFlag
CancellationFlags will be used to prevent crashes during the shutdown of Nearby Connections from pending tasks taking too long during the shutdown period. By using CancellationFlags, we can prevent the retries occuring during the Shutdown by short-circuiting an in flight AttemptToConnect, and checking for Cancellation before retries.

Because BluetoothClassic does not use futures, the short circuit only requires a check after ConnectToService, and returning an empty
socket.

PiperOrigin-RevId: 539755631
2023-06-12 14:05:36 -07:00
Juliet Levesque 240159e872 [Nearby Connections] Stop 3 AttemptsToConnect over WebRTC for CancellationFlag
CancellationFlags will be used to prevent crashes during the shutdown of Nearby Connections from pending tasks taking too long during the shutdown period. WebRTC using 3 x 10s retries to connect, which means we are potentially waiting for 30 seconds of retries to execute during shutdown (which is longer than the 10s duration alloted for Core shutdown).

By using CancellationFlags, we can prevent the retries occuring during the Shutdown by short-circuiting an in flight AttemptToConnect, and checking for Cancellation before retries.

PiperOrigin-RevId: 539690403
2023-06-12 10:16:36 -07:00
Guogang Li dbd42b0de3 Handle GATT query in separate thread
PiperOrigin-RevId: 538819295
2023-06-08 10:10:00 -07:00
Guogang Li 19bc10ff26 Fixed the issue to initialize discovery tracker
PiperOrigin-RevId: 537995407
2023-06-05 15:22:40 -07:00
Janusz Sobczak 0901aec6e2 Add BleMedium::GetRemotePeripheral
Added:
nearby::api::ble_v2::BlePeripheral::GetUniqueId()
nearby::api::ble_v2::BleMedium::GetRemotePeripheral(...)

Moved BlePeripheral implementation from bluetooth_adapter_* to ble_v2.*
Added G3 (test) implementation for the new methods.

PiperOrigin-RevId: 531023568
2023-05-10 15:40:38 -07:00
Guogang Li 072d24238b Made kPeripheralLostTimeout as flag
PiperOrigin-RevId: 530408275
2023-05-08 14:29:02 -07:00
Nick Bourdakos 58772e95f9 Internal change
PiperOrigin-RevId: 529464527
2023-05-04 11:24:39 -07:00
hai007 388c96d125 Close webrtc socket before closing the PeerConnection.
PiperOrigin-RevId: 522140908
2023-04-05 13:36:30 -07:00
hai007 f8f9c4fd4e Don't unregister an observer while inside an observer callback.
PiperOrigin-RevId: 521860015
2023-04-04 14:05:32 -07:00
Hai Shang c312442f3d internal clean up
PiperOrigin-RevId: 521555239
2023-04-03 14:00:22 -07:00
Hai Shang 47b7a04939 minor clean up
PiperOrigin-RevId: 520734787
2023-03-30 13:56:57 -07:00