#include <wire_writer.h>

Classes | |
| struct | RunScheduledTxArgs |
Public Member Functions | |
| void | OnAckReceived (int64_t num_bytes) override |
| absl::Status | RpcCall (std::unique_ptr< Transaction > tx) override |
| void | RunScheduledTxInternal (RunScheduledTxArgs *arg) |
| absl::Status | SendAck (int64_t num_bytes) override |
| WireWriterImpl (std::unique_ptr< Binder > binder) | |
| ~WireWriterImpl () override | |
Public Member Functions inherited from grpc_binder::WireWriter | |
| virtual | ~WireWriter ()=default |
Static Public Attributes | |
| static const int64_t | kBlockSize = 16 * 1024 |
| static const int64_t | kFlowControlWindowSize = 128 * 1024 |
Private Member Functions | |
| std::queue< RunScheduledTxArgs * > pending_outgoing_tx_ | ABSL_GUARDED_BY (flow_control_mu_) |
| int64_t num_acknowledged_bytes_ | ABSL_GUARDED_BY (flow_control_mu_)=0 |
| int num_non_acked_tx_in_combiner_ | ABSL_GUARDED_BY (flow_control_mu_)=0 |
| std::unique_ptr< Binder > binder_ | ABSL_GUARDED_BY (write_mu_) |
| absl::flat_hash_map< int, int > next_seq_num_ | ABSL_GUARDED_BY (write_mu_) |
| absl::Status | MakeBinderTransaction (BinderTransportTxCode tx_code, std::function< absl::Status(WritableParcel *)> fill_parcel) |
| absl::Status | RpcCallFastPath (std::unique_ptr< Transaction > tx) |
| absl::Status | RunStreamTx (RunScheduledTxArgs::StreamTx *stream_tx, WritableParcel *parcel, bool *is_last_chunk) ABSL_EXCLUSIVE_LOCKS_REQUIRED(write_mu_) |
| void | TryScheduleTransaction () |
Private Attributes | |
| grpc_core::Combiner * | combiner_ |
| grpc_core::Mutex | flow_control_mu_ |
| std::atomic_bool | is_transacting_ {false} |
| std::atomic< int64_t > | num_outgoing_bytes_ {0} |
| grpc_core::Mutex | write_mu_ |
Definition at line 42 of file wire_writer.h.
|
explicit |
Definition at line 83 of file wire_writer.cc.
|
override |
Definition at line 89 of file wire_writer.cc.
|
private |
|
privatepure virtual |
|
privatepure virtual |
|
private |
|
private |
Definition at line 102 of file wire_writer.cc.
|
overridevirtual |
Implements grpc_binder::WireWriter.
Definition at line 324 of file wire_writer.cc.
|
overridevirtual |
Implements grpc_binder::WireWriter.
Definition at line 270 of file wire_writer.cc.
|
private |
Definition at line 130 of file wire_writer.cc.
| void grpc_binder::WireWriterImpl::RunScheduledTxInternal | ( | RunScheduledTxArgs * | arg | ) |
Definition at line 206 of file wire_writer.cc.
|
private |
Definition at line 151 of file wire_writer.cc.
|
overridevirtual |
Implements grpc_binder::WireWriter.
Definition at line 286 of file wire_writer.cc.
|
private |
Definition at line 347 of file wire_writer.cc.
|
private |
Definition at line 122 of file wire_writer.h.
|
private |
Definition at line 109 of file wire_writer.h.
|
private |
Definition at line 120 of file wire_writer.h.
Definition at line 71 of file wire_writer.h.
Definition at line 74 of file wire_writer.h.
|
private |
Definition at line 106 of file wire_writer.h.
|
private |
Definition at line 97 of file wire_writer.h.