hai007 7d3b6d7d82 Disable BWU from WLAN to Hotspot for Discoverer side
Windows doesn't support BWU from WIFI_LAN to WIFI_HOTSPOT. Because when the discoverer side try to switch from current AP to the Hotspot, it loss physical connection. When here's no physical connection, BWU protocol frame exchange won't be finished successfully, then BWU will fail eventually.
In the current code implementation, if Windows Nearby act as Advertiser, it will not do BWU from WLAN to Hotspot. This CL adds similar logic when Windows Nearby act as discoverer.

PiperOrigin-RevId: 453248717
2022-06-06 11:50:06 -07:00
2022-02-16 16:07:39 -08:00
2022-04-14 11:57:25 -07:00
2022-06-01 22:37:42 -07:00
2022-06-01 17:22:22 +09:00
2022-03-31 16:03:11 -07:00
2022-04-14 10:13:53 -07:00
2022-02-25 15:16:20 -08:00
2022-04-01 06:53:16 -07:00
2022-04-25 11:00:02 -07:00
2022-04-02 22:46:20 -07:00

Nearby C++ Library

The repository contains the Nearby project C++ library source code. This is not an officially supported Google product.

About the Nearby Project

Nearby Connection

Nearby Connections is a high level protocol on top of Bluetooth/WiFi that acts as a medium-agnostic socket. Devices are able to advertise, scan, and connect with one another over any shared medium (eg. BT <-> BT). Once connected, the two devices share a list of all supported mediums and attempt to upgrade to the one with the highest bandwidth (eg. BT -> WiFi). The connection is encrypted, reliable, and fully duplex. BYTE, FILE, and STREAM payloads are all supported and will be chunked & transferred internally and recombined on the receiving device. See Nearby Connections Overview for more information.

Checkout the source tree

git clone https://github.com/google/nearby
cd nearby
git submodule update --init --recursive

Building Nearby, Unit Testing and Sample Apps

We support multiple platforms including Linux, iOS & Windows.

Building for Linux

Currently we support building from source using [bazel] (https://bazel.build). Other BUILD system such as cmake may be added later.

Prerequisites:

  1. Bazel
  2. clang with support for c++ 17+
  3. Openssl libcrypto.so (-lssl;-lcrypto).

To build the Nearby Connection Core library:

CC=clang CXX=clang++ bazel build -s --check_visibility=false //connections:core  --spawn_strategy=standalone --verbose_failures

Building for macOS and iOS

Currently we support building with Swift Package Manager.

Prerequisites:

  1. Xcode. Available from Apple Store.
  2. Google Protobuf Compiler (protoc). If you have homebrew installed, you can do brew install protobuf.

To build the Nearby Connection library:

swift build

We also provide a iOS [sample app using the Nearby Connections library] (https://github.com/google/nearby/blob/master/internal/platform/implementation/ios/Example/NearbyConnectionsExample/README.md).

Limitation

The only Medium supported is Wifi LAN.

Last Updated: April 7, 2022

Languages
C++ 97.6%
Objective-C 1.1%
Objective-C++ 0.6%
Starlark 0.3%
C 0.2%
Other 0.1%