Commit Graph
196 Commits
Author SHA1 Message Date
hai007 1b59c39c02 Fix OnEndpointLost behavior error
PiperOrigin-RevId: 533488774
2023-05-19 10:23:41 -07:00
hai007 47aea4b689 Fix Tsan data race error
PiperOrigin-RevId: 533486198
2023-05-19 10:14:21 -07:00
Anay Wadhera f2cadc2815 move payload listeners to absl::AnyInvocable
PiperOrigin-RevId: 533365325
2023-05-18 23:30:01 -07:00
Juliet Levesque 8a78212bb8 [Nearby Connections] Check for shutdown before accessing ClientProxy.
During the destruction of NearbyConnections, Core (which owns ClientProxy) is destructed before ServiceController (which owns EndpointManager), which means any pending tasks on the EndpointManager executor that use ClientProxy will be using
garbage memory. To fix this issue, EndpointManager::DiscardEndpoint will check
for an `is_shutdown` boolean set during ~EndpointManager before accessing
ClientProxy. The assumption is that any accessing of ClientProxy after the
destruction will be invalid.

PiperOrigin-RevId: 532581122
2023-05-16 14:54:20 -07:00
Anay Wadhera e4be4677c4 update ukey2 to use bazel
PiperOrigin-RevId: 532532700
2023-05-16 12:05:48 -07:00
Anay Wadhera 99e951dc53 ClientProxy: Wire in DeviceProvider
PiperOrigin-RevId: 532259220
2023-05-15 16:17:16 -07:00
Nick Bourdakos ae35b1a242 Internal change
PiperOrigin-RevId: 532215519
2023-05-15 13:56:22 -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
hai007 4eaaeb254d Clean up third_party/nearby/connections/implementation/analytics
PiperOrigin-RevId: 529811175
2023-05-05 14:13:49 -07:00
hai007 ff412edde1 Skip the analytics recording on the closed connection without strategy sessions
PiperOrigin-RevId: 529502206
2023-05-04 13:41:08 -07:00
Nick Bourdakos 58772e95f9 Internal change
PiperOrigin-RevId: 529464527
2023-05-04 11:24:39 -07:00
Anay Wadhera 7caeb98443 Remove v2 callbacks from client_proxy
PiperOrigin-RevId: 529181183
2023-05-03 13:35:59 -07:00
hai007 10174f8a47 Fix data overflow problem
PiperOrigin-RevId: 528023236
2023-04-28 17:16:44 -07:00
Anay Wadhera 5edd8e25ca Introduce v3 NC API callbacks
PiperOrigin-RevId: 527747390
2023-04-27 19:01:39 -07:00
Johnson Lu 83739b3185 [Connections] Switch to use P2P IPv6 address
PiperOrigin-RevId: 527502244
2023-04-27 01:05:22 -07:00
Edwin Wu 576b0babfa [Connections] Implement NC/NP Handshake & Connection Authentication, part IV
PiperOrigin-RevId: 525618680
2023-04-19 19:56:59 -07:00
Edwin Wu a706e95e7b [Connections] Implement NC/NP Handshake & Connection Authentication, part III
PiperOrigin-RevId: 525615681
2023-04-19 19:32:44 -07:00
hai007 b68431e6a8 Add IFTTT comment for linter.
PiperOrigin-RevId: 524593948
2023-04-15 20:30:24 -07:00
Johnson Lu 7fb90aea30 Add connections_device and presence_device fields in ConnectionRequestFrame
PiperOrigin-RevId: 523024392
2023-04-09 21:12:02 -07:00
hai007 82b9cb50fa Fix the Hotspot and WFD unit tests when cancellation flag is enabled
PiperOrigin-RevId: 522643865
2023-04-07 11:29:31 -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
hai007 1a6ba0d32c Clean up nearby dependencies.
PiperOrigin-RevId: 521039910
2023-03-31 16:36:40 -07:00
Hai Shang 47b7a04939 minor clean up
PiperOrigin-RevId: 520734787
2023-03-30 13:56:57 -07:00
Nick Bourdakos 14e7832be0 Internal change
PiperOrigin-RevId: 520638739
2023-03-30 12:34:53 -07:00
Nick Bourdakos a933a91413 Internal Change
PiperOrigin-RevId: 520165614
2023-03-28 16:26:40 -07:00
Guogang Li 9130b61f15 Only handle possible advertising advertising packet for BLE V2
PiperOrigin-RevId: 519292612
2023-03-24 19:23:09 -07:00
Nick Bourdakos decdc15402 Internal change
PiperOrigin-RevId: 519204238
2023-03-24 12:06:55 -07:00
Nick Bourdakos 99298444df Use @rules_cc for cc_proto_library
PiperOrigin-RevId: 519188761
2023-03-24 12:05:19 -07:00
Nick Bourdakos e21f736588 Internal change
PiperOrigin-RevId: 519180519
2023-03-24 11:05:33 -07:00
Janusz Sobczak 1a78b33a89 Add InputStream::ReadExactly
Read() can return fewer bytes than requested.
ReadExactly() will call Read() repeatedly until we
have read as many bytes as we need.

PiperOrigin-RevId: 518719418
2023-03-22 17:45:50 -07:00
Nick Bourdakos 0b3c759aa3 Remove unneeded WebRTC flags
PiperOrigin-RevId: 518629654
2023-03-22 11:44:12 -07:00
Nick Bourdakos ec025502dc Refactor WebRTC code to avoid use of select for stubs
PiperOrigin-RevId: 518491132
2023-03-22 00:25:54 -07:00
Janusz Sobczak a7a3eb8a92 Use consistent return value in Pipe read.
Previously reading from an empty, closed Pipe returned:
* IO exception if there were no writes to the pipe,
* Empty byte array if there were writes to the pipe.
With this change, we return an empty byte array on both paths.

This also fixes a subtle race condition in the following flow:
1. Pipe is empty
2. Thread A is reading from the pipe (blocking call).
3. Thread B writes to the pipe and immediately closes it.
4. Thread A is unblocked and returns IO error. The data written by thread B is
   ignored!

The new test in bluetooth_classic_test triggered that defect consistently.

PiperOrigin-RevId: 518107700
2023-03-20 16:26:52 -07:00
Edwin Wu 94ff506d1e Fixes HelloConnections that can't discover Pixel device from iPhone for Ble_v2 medium.
PiperOrigin-RevId: 517318035
2023-03-16 22:25:21 -07:00
Guogang Li 335c07624e Fixed the issue to encode BLE V2 advertisement header
PiperOrigin-RevId: 517267592
2023-03-16 17:06:02 -07:00
hai007 3f61031345 1. Supports payload received ack sync for sender
2. Supports safe-to-disconnect check (no auto reconnect or auto resume transfer yet)

PiperOrigin-RevId: 517191691
2023-03-16 12:17:04 -07:00
hai007 fbee16103b Supports Multiplex transmission for Bluetooth to allow multiple clients reuse the existed connection. See go/nc_multiplex for more details.
PiperOrigin-RevId: 517039657
2023-03-16 00:11:27 -07:00
hai007 86d33f749a Supports Multiplex transmission for Bluetooth to allow multiple clients reuse the existed connection. See go/nc_multiplex for more details.
PiperOrigin-RevId: 517028681
2023-03-15 22:54:56 -07:00
Guogang Li fd5430764f Created NearbyFlags to avoid create multiple classes
PiperOrigin-RevId: 516885843
2023-03-15 11:44:25 -07:00
Guogang Li acf0f09a3f Hooked up experiment for Nearby Connections
PiperOrigin-RevId: 516694135
2023-03-14 19:15:54 -07:00
Guogang Li e539d021a3 Added flag for BLE v2 in nearby connections
PiperOrigin-RevId: 516585139
2023-03-14 11:35:49 -07:00
Anay Wadhera 4375f988d7 Remove irrelevant timeout fields from discovery_options
PiperOrigin-RevId: 515106695
2023-03-08 12:17:43 -08:00
Qin Wang 0c078b3528 Convet ByteArray to std::string in ble_gatt_client
PiperOrigin-RevId: 514786088
2023-03-07 11:10:34 -08:00
Guogang Li 4f7b61ad79 Added flag to control whether enable base64 in BLE advertisement header
PiperOrigin-RevId: 513924031
2023-03-06 07:03:30 -08:00
Edwin Wu 517ff0f52e [Nearby Connections] Add control packet in BlePacket
PiperOrigin-RevId: 513573452
2023-03-02 10:21:07 -08:00
Qin Wang 4727861f5d Refactor GattCharactristic to support bitwise combination of Permission and Property
PiperOrigin-RevId: 513339751
2023-03-01 14:21:04 -08:00
Aaron Yu 3bb4ab1367 Fix global buffer overflow bugs
PiperOrigin-RevId: 512139953
2023-02-24 12:46:24 -08:00