Macros | Functions | Variables
secure_endpoint.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/lib/security/transport/secure_endpoint.h"
#include <inttypes.h>
#include <algorithm>
#include <atomic>
#include <memory>
#include "absl/base/thread_annotations.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include <grpc/event_engine/memory_allocator.h>
#include <grpc/event_engine/memory_request.h>
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/alloc.h>
#include <grpc/support/atm.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/resource_quota/api.h"
#include "src/core/lib/resource_quota/memory_quota.h"
#include "src/core/lib/resource_quota/resource_quota.h"
#include "src/core/lib/resource_quota/trace.h"
#include "src/core/lib/security/transport/tsi_error.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_refcount.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/tsi/transport_security_grpc.h"
#include "src/core/tsi/transport_security_interface.h"
Include dependency graph for secure_endpoint.cc:

Go to the source code of this file.

Macros

#define SECURE_ENDPOINT_REF(ep, reason)   secure_endpoint_ref((ep), (reason), __FILE__, __LINE__)
 
#define SECURE_ENDPOINT_UNREF(ep, reason)   secure_endpoint_unref((ep), (reason), __FILE__, __LINE__)
 
#define STAGING_BUFFER_SIZE   8192
 

Functions

static void call_read_cb (secure_endpoint *ep, grpc_error_handle error)
 
static void destroy (secure_endpoint *ep)
 
static void endpoint_add_to_pollset (grpc_endpoint *secure_ep, grpc_pollset *pollset)
 
static void endpoint_add_to_pollset_set (grpc_endpoint *secure_ep, grpc_pollset_set *pollset_set)
 
static bool endpoint_can_track_err (grpc_endpoint *secure_ep)
 
static void endpoint_delete_from_pollset_set (grpc_endpoint *secure_ep, grpc_pollset_set *pollset_set)
 
static void endpoint_destroy (grpc_endpoint *secure_ep)
 
static int endpoint_get_fd (grpc_endpoint *secure_ep)
 
static absl::string_view endpoint_get_local_address (grpc_endpoint *secure_ep)
 
static absl::string_view endpoint_get_peer (grpc_endpoint *secure_ep)
 
static void endpoint_read (grpc_endpoint *secure_ep, grpc_slice_buffer *slices, grpc_closure *cb, bool urgent, int)
 
static void endpoint_shutdown (grpc_endpoint *secure_ep, grpc_error_handle why)
 
static void endpoint_write (grpc_endpoint *secure_ep, grpc_slice_buffer *slices, grpc_closure *cb, void *arg, int max_frame_size)
 
static void flush_read_staging_buffer (secure_endpoint *ep, uint8_t **cur, uint8_t **end) ABSL_EXCLUSIVE_LOCKS_REQUIRED(ep -> read_mu)
 
static void flush_write_staging_buffer (secure_endpoint *ep, uint8_t **cur, uint8_t **end) ABSL_EXCLUSIVE_LOCKS_REQUIRED(ep -> write_mu)
 
grpc_endpointgrpc_secure_endpoint_create (struct tsi_frame_protector *protector, struct tsi_zero_copy_grpc_protector *zero_copy_protector, grpc_endpoint *to_wrap, grpc_slice *leftover_slices, const grpc_channel_args *channel_args, size_t leftover_nslices)
 
static void maybe_post_reclaimer (secure_endpoint *ep)
 
static void on_read (void *user_data, grpc_error_handle error)
 
static void secure_endpoint_ref (secure_endpoint *ep, const char *reason, const char *file, int line)
 
static void secure_endpoint_unref (secure_endpoint *ep, const char *reason, const char *file, int line)
 

Variables

grpc_core::TraceFlag grpc_trace_secure_endpoint (false, "secure_endpoint")
 
static const grpc_endpoint_vtable vtable
 

Macro Definition Documentation

◆ SECURE_ENDPOINT_REF

#define SECURE_ENDPOINT_REF (   ep,
  reason 
)    secure_endpoint_ref((ep), (reason), __FILE__, __LINE__)

Definition at line 159 of file secure_endpoint.cc.

◆ SECURE_ENDPOINT_UNREF

#define SECURE_ENDPOINT_UNREF (   ep,
  reason 
)    secure_endpoint_unref((ep), (reason), __FILE__, __LINE__)

Definition at line 157 of file secure_endpoint.cc.

◆ STAGING_BUFFER_SIZE

#define STAGING_BUFFER_SIZE   8192

Definition at line 65 of file secure_endpoint.cc.

Function Documentation

◆ call_read_cb()

static void call_read_cb ( secure_endpoint *  ep,
grpc_error_handle  error 
)
static

Definition at line 240 of file secure_endpoint.cc.

◆ destroy()

static void destroy ( secure_endpoint *  ep)
static

Definition at line 154 of file secure_endpoint.cc.

◆ endpoint_add_to_pollset()

static void endpoint_add_to_pollset ( grpc_endpoint secure_ep,
grpc_pollset pollset 
)
static

Definition at line 513 of file secure_endpoint.cc.

◆ endpoint_add_to_pollset_set()

static void endpoint_add_to_pollset_set ( grpc_endpoint secure_ep,
grpc_pollset_set pollset_set 
)
static

Definition at line 519 of file secure_endpoint.cc.

◆ endpoint_can_track_err()

static bool endpoint_can_track_err ( grpc_endpoint secure_ep)
static

Definition at line 546 of file secure_endpoint.cc.

◆ endpoint_delete_from_pollset_set()

static void endpoint_delete_from_pollset_set ( grpc_endpoint secure_ep,
grpc_pollset_set pollset_set 
)
static

Definition at line 525 of file secure_endpoint.cc.

◆ endpoint_destroy()

static void endpoint_destroy ( grpc_endpoint secure_ep)
static

Definition at line 507 of file secure_endpoint.cc.

◆ endpoint_get_fd()

static int endpoint_get_fd ( grpc_endpoint secure_ep)
static

Definition at line 541 of file secure_endpoint.cc.

◆ endpoint_get_local_address()

static absl::string_view endpoint_get_local_address ( grpc_endpoint secure_ep)
static

Definition at line 536 of file secure_endpoint.cc.

◆ endpoint_get_peer()

static absl::string_view endpoint_get_peer ( grpc_endpoint secure_ep)
static

Definition at line 531 of file secure_endpoint.cc.

◆ endpoint_read()

static void endpoint_read ( grpc_endpoint secure_ep,
grpc_slice_buffer slices,
grpc_closure cb,
bool  urgent,
int   
)
static

Definition at line 356 of file secure_endpoint.cc.

◆ endpoint_shutdown()

static void endpoint_shutdown ( grpc_endpoint secure_ep,
grpc_error_handle  why 
)
static

Definition at line 502 of file secure_endpoint.cc.

◆ endpoint_write()

static void endpoint_write ( grpc_endpoint secure_ep,
grpc_slice_buffer slices,
grpc_closure cb,
void *  arg,
int  max_frame_size 
)
static

Definition at line 387 of file secure_endpoint.cc.

◆ flush_read_staging_buffer()

static void flush_read_staging_buffer ( secure_endpoint *  ep,
uint8_t **  cur,
uint8_t **  end 
) -> read_mu)
static

Definition at line 230 of file secure_endpoint.cc.

◆ flush_write_staging_buffer()

static void flush_write_staging_buffer ( secure_endpoint *  ep,
uint8_t **  cur,
uint8_t **  end 
) -> write_mu)
static

Definition at line 376 of file secure_endpoint.cc.

◆ grpc_secure_endpoint_create()

grpc_endpoint* grpc_secure_endpoint_create ( struct tsi_frame_protector protector,
struct tsi_zero_copy_grpc_protector zero_copy_protector,
grpc_endpoint to_wrap,
grpc_slice leftover_slices,
const grpc_channel_args channel_args,
size_t  leftover_nslices 
)

Definition at line 563 of file secure_endpoint.cc.

◆ maybe_post_reclaimer()

static void maybe_post_reclaimer ( secure_endpoint *  ep)
static

Definition at line 196 of file secure_endpoint.cc.

◆ on_read()

static void on_read ( void *  user_data,
grpc_error_handle  error 
)
static

Definition at line 255 of file secure_endpoint.cc.

◆ secure_endpoint_ref()

static void secure_endpoint_ref ( secure_endpoint *  ep,
const char *  reason,
const char *  file,
int  line 
)
static

Definition at line 174 of file secure_endpoint.cc.

◆ secure_endpoint_unref()

static void secure_endpoint_unref ( secure_endpoint *  ep,
const char *  reason,
const char *  file,
int  line 
)
static

Definition at line 161 of file secure_endpoint.cc.

Variable Documentation

◆ grpc_trace_secure_endpoint

grpc_core::TraceFlag grpc_trace_secure_endpoint(false, "secure_endpoint")

◆ vtable

const grpc_endpoint_vtable vtable
static
endpoint_add_to_pollset_set
static void endpoint_add_to_pollset_set(grpc_endpoint *secure_ep, grpc_pollset_set *pollset_set)
Definition: secure_endpoint.cc:519
endpoint_shutdown
static void endpoint_shutdown(grpc_endpoint *secure_ep, grpc_error_handle why)
Definition: secure_endpoint.cc:502
endpoint_add_to_pollset
static void endpoint_add_to_pollset(grpc_endpoint *secure_ep, grpc_pollset *pollset)
Definition: secure_endpoint.cc:513
endpoint_write
static void endpoint_write(grpc_endpoint *secure_ep, grpc_slice_buffer *slices, grpc_closure *cb, void *arg, int max_frame_size)
Definition: secure_endpoint.cc:387
endpoint_destroy
static void endpoint_destroy(grpc_endpoint *secure_ep)
Definition: secure_endpoint.cc:507
endpoint_get_fd
static int endpoint_get_fd(grpc_endpoint *secure_ep)
Definition: secure_endpoint.cc:541
endpoint_delete_from_pollset_set
static void endpoint_delete_from_pollset_set(grpc_endpoint *secure_ep, grpc_pollset_set *pollset_set)
Definition: secure_endpoint.cc:525
endpoint_get_local_address
static absl::string_view endpoint_get_local_address(grpc_endpoint *secure_ep)
Definition: secure_endpoint.cc:536
endpoint_read
static void endpoint_read(grpc_endpoint *secure_ep, grpc_slice_buffer *slices, grpc_closure *cb, bool urgent, int)
Definition: secure_endpoint.cc:356
endpoint_get_peer
static absl::string_view endpoint_get_peer(grpc_endpoint *secure_ep)
Definition: secure_endpoint.cc:531
endpoint_can_track_err
static bool endpoint_can_track_err(grpc_endpoint *secure_ep)
Definition: secure_endpoint.cc:546


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:30