xref: /aosp_15_r20/tools/netsim/src/netsim-packet-streamer-client.cc (revision cf78ab8cffb8fc9207af348f23af247fb04370a6)
1*cf78ab8cSAndroid Build Coastguard Worker // Copyright 2022 The Android Open Source Project
2*cf78ab8cSAndroid Build Coastguard Worker //
3*cf78ab8cSAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
4*cf78ab8cSAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
5*cf78ab8cSAndroid Build Coastguard Worker // You may obtain a copy of the License at
6*cf78ab8cSAndroid Build Coastguard Worker //
7*cf78ab8cSAndroid Build Coastguard Worker //      http://www.apache.org/licenses/LICENSE-2.0
8*cf78ab8cSAndroid Build Coastguard Worker //
9*cf78ab8cSAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
10*cf78ab8cSAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
11*cf78ab8cSAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*cf78ab8cSAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
13*cf78ab8cSAndroid Build Coastguard Worker // limitations under the License.
14*cf78ab8cSAndroid Build Coastguard Worker 
15*cf78ab8cSAndroid Build Coastguard Worker #include <iostream>
16*cf78ab8cSAndroid Build Coastguard Worker 
17*cf78ab8cSAndroid Build Coastguard Worker #include "backend/packet_streamer_client.h"
18*cf78ab8cSAndroid Build Coastguard Worker #include "netsim/packet_streamer.grpc.pb.h"
19*cf78ab8cSAndroid Build Coastguard Worker 
20*cf78ab8cSAndroid Build Coastguard Worker using netsim::common::ChipKind;
21*cf78ab8cSAndroid Build Coastguard Worker 
main(int argc,char * argv[])22*cf78ab8cSAndroid Build Coastguard Worker int main(int argc, char *argv[]) {
23*cf78ab8cSAndroid Build Coastguard Worker   // Finding the netsimd binary requires this env variable when run
24*cf78ab8cSAndroid Build Coastguard Worker   // interactively export ANDROID_EMULATOR_LAUNCHER_DIR=./objs
25*cf78ab8cSAndroid Build Coastguard Worker 
26*cf78ab8cSAndroid Build Coastguard Worker   auto channel = netsim::packet::CreateChannel("");
27*cf78ab8cSAndroid Build Coastguard Worker 
28*cf78ab8cSAndroid Build Coastguard Worker   std::unique_ptr<netsim::packet::PacketStreamer::Stub> stub =
29*cf78ab8cSAndroid Build Coastguard Worker       netsim::packet::PacketStreamer::NewStub(channel);
30*cf78ab8cSAndroid Build Coastguard Worker 
31*cf78ab8cSAndroid Build Coastguard Worker   grpc::ClientContext context;
32*cf78ab8cSAndroid Build Coastguard Worker 
33*cf78ab8cSAndroid Build Coastguard Worker   netsim::packet::PacketRequest initial_request;
34*cf78ab8cSAndroid Build Coastguard Worker   netsim::packet::Stream bt_stream = stub->StreamPackets(&context);
35*cf78ab8cSAndroid Build Coastguard Worker   initial_request.mutable_initial_info()->set_name("emulator-5554");
36*cf78ab8cSAndroid Build Coastguard Worker   initial_request.mutable_initial_info()->mutable_chip()->set_kind(
37*cf78ab8cSAndroid Build Coastguard Worker       ChipKind::BLUETOOTH);
38*cf78ab8cSAndroid Build Coastguard Worker   bt_stream->Write(initial_request);
39*cf78ab8cSAndroid Build Coastguard Worker 
40*cf78ab8cSAndroid Build Coastguard Worker   std::cout << "Press enter to close the connection...";
41*cf78ab8cSAndroid Build Coastguard Worker   std::string s;
42*cf78ab8cSAndroid Build Coastguard Worker   getline(std::cin, s);
43*cf78ab8cSAndroid Build Coastguard Worker 
44*cf78ab8cSAndroid Build Coastguard Worker   return (0);
45*cf78ab8cSAndroid Build Coastguard Worker }
46