Commit Graph
241 Commits
Author SHA1 Message Date
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 cbf50a3d49 Add more visibilities
PiperOrigin-RevId: 518647351
2023-03-22 12:51:23 -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
Nick Bourdakos f5eac5c47d Update README
PiperOrigin-RevId: 518014725
2023-03-20 10:50:10 -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
Nick Bourdakos 2e8d6efdb8 Update build dependencies to fix broken macOS Dart build
PiperOrigin-RevId: 517235243
2023-03-16 14:55:17 -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
hai007 e5efc0a09a Add all options to GNCAdvertisingOptions, GNCDiscoveryOptions, and GNCConnectionOptions.
PiperOrigin-RevId: 515153199
2023-03-08 15:08:30 -08: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
hai007 4ac88c17c5 WiFi Lan logging clean up
PiperOrigin-RevId: 511871233
2023-02-23 13:30:12 -08:00
hai007 e2fa1d0409 Fix the supported mediums error
PiperOrigin-RevId: 509999913
2023-02-15 19:54:05 -08:00
Aaron Yu fc1811f966 Set g3 bluetooth adapter to be enabled by default and remove Toggle()
PiperOrigin-RevId: 509962396
2023-02-15 16:25:43 -08:00
Edwin Wu 1e229e31c5 [Nearby Connections] Add OS_INFO for NC C++.
PiperOrigin-RevId: 509443158
2023-02-14 00:05:17 -08:00
hai007 b204aed4cb Don't ignore GNCCoreAdapter completion handler errors in Swift APIs.
PiperOrigin-RevId: 508760708
2023-02-10 14:53:35 -08:00
Edwin Wu d37c80dfc5 [Nearby Connections] Add OS_INFO at initial connection for BWU protocol.
PiperOrigin-RevId: 508561261
2023-02-09 21:37:28 -08:00
hai007 be32b7d2d9 Indicate "Their supported medium" is not real if the other device is host
PiperOrigin-RevId: 508426593
2023-02-09 11:20:39 -08:00
hai007 c80dd182e2 Automated visibility attribute cleanup.
PiperOrigin-RevId: 507844899
2023-02-07 11:53:54 -08:00
Janusz Sobczak 5f4144cd0b Update SharedCredential definition
PiperOrigin-RevId: 507568902
2023-02-06 13:33:23 -08:00
hai007 1c19d52f29 Limit log spam from Analytics Recorder.
PiperOrigin-RevId: 506722936
2023-02-02 14:26:35 -08:00
Janusz Sobczak 270aad8ca8 Fix use-after-free defect
PiperOrigin-RevId: 506477039
2023-02-01 18:15:38 -08:00
Nick Bourdakos 9fef440925 Update Dart payload callbacks to better support file and byte payloads
PiperOrigin-RevId: 506006910
2023-01-31 08:15:55 -08:00
Nick Bourdakos 20989c5167 Internal change
PiperOrigin-RevId: 504972306
2023-01-26 16:36:14 -08:00
Qin Wang ed9890957f Upgrade minimum_os_version to 13.0
PiperOrigin-RevId: 504597125
2023-01-25 10:23:19 -08:00
Janusz Sobczak f4d85f9b90 Migrate to AnyInvocable in platform code
PiperOrigin-RevId: 504104740
2023-01-23 16:04:21 -08:00
hai007 7f34968b78 Add Units Test for P2pPointToPointPcpHandler
PiperOrigin-RevId: 504064711
2023-01-23 13:20:11 -08:00
Nick Bourdakos f49fe2fb59 Internal change
PiperOrigin-RevId: 503320554
2023-01-19 18:45:56 -08:00
Nick Bourdakos 819f816600 Refactor nearby connections clients to be organized by languages.
PiperOrigin-RevId: 503308736
2023-01-19 17:36:07 -08:00
hai007 9a22f71a54 Remove PayLoad::AsBytes()&& to fix -Wreturn-stack-address error
With never versions of libc++, Chromium builds would fail with:

  ../../third_party/nearby/src/connections/payload.cc:105:50:
  error: returning reference to local temporary object [-Werror,-Wreturn-stack-address]
      return result ? std::move(*result) : std::move(ByteArray());
                                                     ^~~~~~~~~~~

Before this libc++ version, the error was masked by the std::move.

If I understand correctly, the only user of this function was
BytesInternalPayload::DetachNextChunk() which was going to make a copy of the
ByteArray annyways, so it might as well use the AsBytes() overload that returns
a const ref.

See also https://crbug.com/1407615#c2

PiperOrigin-RevId: 502946204
2023-01-18 12:21:22 -08:00
Eiden Kim df6e8d951f Update custom path log to show correct path
PiperOrigin-RevId: 502765322
2023-01-17 21:01:51 -08:00
Eiden Kim d9b4985c76 Update custom path log to show correct path
PiperOrigin-RevId: 502735941
2023-01-17 17:55:26 -08:00
Janusz Sobczak 4fc1583b94 Migrate to absl::AnyInvocable
PiperOrigin-RevId: 501392167
2023-01-11 15:19:33 -08:00
hai007 7a9916f726 Fix WifiDirect small logic error
PiperOrigin-RevId: 501309880
2023-01-11 10:00:28 -08:00
Nick Bourdakos 8cde6b1bd3 Internal change
PiperOrigin-RevId: 500848005
2023-01-09 17:28:08 -08:00
Eiden Kim 6ac239688f Rollback for cl/499340098 - remove DebugString() log
PiperOrigin-RevId: 500772955
2023-01-09 12:01:30 -08:00
Nick Bourdakos 73a4c4210d Internal change
PiperOrigin-RevId: 500765032
2023-01-09 11:28:50 -08:00
John Carroll a024710c58 Added an exported function to enable/disable ble v3 from the dart UI including updating the UI. This is expected to be used in test and does not affect interfaces that are unaware of it (IOW, it breaks nothing and NS will still use v2). Now we can just switch back and forth between v2 and v3 without recompilation, but, it needs to be done carefully, once it's toggled toggling back should only be done when not advertising, discovering, or connected/ing. At some point, I will work out the logic for disabling it, it's gonna take a little dart coding.
PiperOrigin-RevId: 500748215
2023-01-09 10:27:41 -08:00