return pending_connection_close_.RunLoop(context, writer);
}
- ::grpc::Status Connect(::grpc::ServerContext* context, const facade::BluetoothAddress* request,
- ::google::protobuf::Empty* response) override {
- auto fixed_channel_manager = l2cap_layer_->GetFixedChannelManager();
- hci::Address peer;
- ASSERT(hci::Address::FromString(request->address(), peer));
- fixed_channel_manager->ConnectServices(peer, common::BindOnce([](FixedChannelManager::ConnectionResult) {}),
- facade_handler_);
- return ::grpc::Status::OK;
- }
-
::grpc::Status SendL2capPacket(::grpc::ServerContext* context, const classic::L2capPacket* request,
SendL2capPacketResult* response) override {
std::unique_lock<std::mutex> lock(channel_map_mutex_);
rpc FetchConnectionClose(google.protobuf.Empty) returns (stream ConnectionCloseEvent) {
// Testing Android Bluetooth stack only. Optional for other stack.
}
- rpc Connect(facade.BluetoothAddress) returns (google.protobuf.Empty) {}
rpc OpenChannel(OpenChannelRequest) returns (google.protobuf.Empty) {}
rpc CloseChannel(CloseChannelRequest) returns (google.protobuf.Empty) {}
- rpc ConfigureChannel(ConfigureChannelRequest) returns (google.protobuf.Empty) {}
rpc SendL2capPacket(L2capPacket) returns (SendL2capPacketResult) {}
rpc FetchL2capData(google.protobuf.Empty) returns (stream L2capPacket) {}
rpc SetDynamicChannel(SetEnableDynamicChannelRequest) returns (google.protobuf.Empty) {}
RetransmissionFlowControlMode mode = 3;
}
-message ConfigureChannelRequest {
- facade.BluetoothAddress remote = 1;
- // Config
-}
-
message CloseChannelRequest {
uint32 psm = 1;
}