Go to the documentation of this file.
47 #ifndef GRPC_TEST_CORE_TRANSPORT_BINDER_END2END_FAKE_BINDER_H
48 #define GRPC_TEST_CORE_TRANSPORT_BINDER_END2END_FAKE_BINDER_H
51 #include <forward_list>
60 #include "absl/memory/memory.h"
61 #include "absl/random/random.h"
62 #include "absl/strings/str_format.h"
63 #include "absl/strings/string_view.h"
64 #include "absl/time/time.h"
65 #include "absl/types/variant.h"
73 namespace end2end_testing {
106 for (
auto& d :
data_) {
107 if (absl::holds_alternative<int32_t>(d)) {
109 }
else if (absl::holds_alternative<int64_t>(d)) {
111 }
else if (absl::holds_alternative<void*>(d)) {
113 }
else if (absl::holds_alternative<std::string>(d)) {
114 data_size_ += absl::get<std::string>(d).size();
168 std::unique_ptr<Binder>
GetSender()
const;
183 std::unique_ptr<FakeBinderTunnel> tunnel);
207 input_ = absl::make_unique<FakeWritableParcel>();
223 std::unique_ptr<FakeWritableParcel>
input_;
250 std::unique_ptr<FakeBinderTunnel> tunnel) {
302 std::pair<std::unique_ptr<Binder>, std::unique_ptr<TransactionReceiver>>
308 #endif // GRPC_TEST_CORE_TRANSPORT_BINDER_END2END_FAKE_BINDER_H
std::unique_ptr< FakeBinderTunnel > tunnel_
FakeBinderTunnel * tunnel
FakeEndpoint(FakeBinderTunnel *tunnel)
constexpr Duration ZeroDuration()
absl::Status WriteString(absl::string_view s) override
absl::Status WriteInt64(int64_t data) override
std::queue< std::tuple< FakeEndpoint *, BinderTransportTxCode, FakeData > > tx_queue_ ABSL_GUARDED_BY(mu_)
int32_t GetDataSize() const override
grpc_core::Mutex tx_receiver_mu_
absl::Status ReadString(std::string *str) override
absl::Duration GetRandomDelay()
void * GetRawBinder() override
absl::Status Transact(BinderTransportTxCode tx_code) override
grpc_core::RefCountedPtr< WireReader > wire_reader_ref_
uint32_t transaction_code_t
void EnQueueTransaction(FakeEndpoint *target, BinderTransportTxCode tx_code, FakeData data)
absl::Status WriteBinder(HasRawBinder *binder) override
absl::Status ReadBinder(std::unique_ptr< Binder > *data) override
void * GetRawBinder() override
std::unique_ptr< FakeEndpoint > send_endpoint_
void WaitForNextTransaction() ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_)
random_internal::NonsecureURBGBase< random_internal::randen_engine< uint64_t > > BitGen
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
PersistentFakeTransactionReceiver & NewPersistentTxReceiver(grpc_core::RefCountedPtr< WireReader > wire_reader_ref, TransactionReceiver::OnTransactCb cb, std::unique_ptr< FakeBinderTunnel > tunnel)
#define ABSL_EXCLUSIVE_LOCKS_REQUIRED(...)
PersistentFakeTransactionReceiver * persistent_tx_receiver_
absl::Status PrepareTransaction() override
grpc_core::Thread tx_thread_
std::pair< std::unique_ptr< Binder >, std::unique_ptr< TransactionReceiver > > NewBinderPair(TransactionReceiver::OnTransactCb transact_cb)
FakeBinder(FakeEndpoint *endpoint)
void Initialize() override
absl::Status ReadInt64(int64_t *data) override
absl::Status ReadInt32(int32_t *data) override
std::function< absl::Status(transaction_code_t, ReadableParcel *, int uid)> OnTransactCb
absl::Status ReadByteArray(std::string *data) override
std::atomic< bool > terminated_
absl::Status Receive(BinderTransportTxCode tx_code, ReadableParcel *parcel)
FakeTransactionReceiver(grpc_core::RefCountedPtr< WireReader > wire_reader_ref, TransactionReceiver::OnTransactCb cb)
void EnQueueTransaction(FakeEndpoint *target, BinderTransportTxCode tx_code, FakeData data)
WritableParcel * GetWritableParcel() const override
TransactionProcessor(absl::Duration delay=absl::ZeroDuration())
FakeEndpoint * GetSendEndpoint() const
std::vector< absl::variant< int32_t, int64_t, void *, std::string, std::vector< int8_t > >> FakeData
std::unique_ptr< TransactionReceiver > ConstructTxReceiver(grpc_core::RefCountedPtr< WireReader > wire_reader_ref, TransactionReceiver::OnTransactCb transact_cb) const override
absl::Status WriteInt32(int32_t data) override
PersistentFakeTransactionReceiver(grpc_core::RefCountedPtr< WireReader > wire_reader_ref, TransactionReceiver::OnTransactCb cb, std::unique_ptr< FakeBinderTunnel > tunnel)
absl::Status WriteByteArray(const int8_t *buffer, int32_t length) override
std::unique_ptr< FakeEndpoint > recv_endpoint_
TransactionReceiver::OnTransactCb callback_
FakeEndpoint * GetRecvEndpoint() const
FakeReadableParcel(FakeData data)
std::unique_ptr< FakeWritableParcel > input_
TransactionProcessor * g_transaction_processor
OPENSSL_EXPORT pem_password_cb * cb
void SetDelay(absl::Duration delay)
std::unique_ptr< Binder > GetSender() const
int32_t GetDataSize() const override
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:22