GRPC Core  0.11.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions
subchannel.h File Reference
#include "src/core/channel/channel_stack.h"
#include "src/core/client_config/connector.h"

Go to the source code of this file.

Data Structures

struct  grpc_subchannel_args
 

Macros

#define GRPC_SUBCHANNEL_REF(p, r)   grpc_subchannel_ref((p))
 
#define GRPC_SUBCHANNEL_UNREF(p, r)   grpc_subchannel_unref((p))
 
#define GRPC_SUBCHANNEL_CALL_REF(p, r)   grpc_subchannel_call_ref((p))
 
#define GRPC_SUBCHANNEL_CALL_UNREF(p, r)   grpc_subchannel_call_unref((p))
 
#define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
 

Typedefs

typedef struct grpc_subchannel grpc_subchannel
 A (sub-)channel that knows how to connect to exactly one target address. More...
 
typedef struct grpc_subchannel_call grpc_subchannel_call
 
typedef struct grpc_subchannel_args grpc_subchannel_args
 

Functions

void grpc_subchannel_ref (grpc_subchannel *channel)
 
void grpc_subchannel_unref (grpc_subchannel *channel)
 
void grpc_subchannel_call_ref (grpc_subchannel_call *call)
 
void grpc_subchannel_call_unref (grpc_subchannel_call *call)
 
void grpc_subchannel_create_call (grpc_subchannel *subchannel, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify)
 construct a call (possibly asynchronously) More...
 
void grpc_subchannel_process_transport_op (grpc_subchannel *subchannel, grpc_transport_op *op)
 process a transport level op More...
 
grpc_connectivity_state grpc_subchannel_check_connectivity (grpc_subchannel *channel)
 poll the current connectivity state of a channel More...
 
void grpc_subchannel_notify_on_state_change (grpc_subchannel *channel, grpc_connectivity_state *state, grpc_iomgr_closure *notify)
 call notify when the connectivity state of a channel changes from *state. More...
 
void grpc_subchannel_add_interested_party (grpc_subchannel *channel, grpc_pollset *pollset)
 express interest in channel's activities through pollset. More...
 
void grpc_subchannel_del_interested_party (grpc_subchannel *channel, grpc_pollset *pollset)
 stop following channel's activity through pollset. More...
 
void grpc_subchannel_call_process_op (grpc_subchannel_call *subchannel_call, grpc_transport_stream_op *op)
 continue processing a transport op More...
 
char * grpc_subchannel_call_get_peer (grpc_subchannel_call *subchannel_call)
 continue querying for peer More...
 
grpc_subchannelgrpc_subchannel_create (grpc_connector *connector, grpc_subchannel_args *args)
 create a subchannel given a connector More...
 

Macro Definition Documentation

#define GRPC_SUBCHANNEL_CALL_REF (   p,
 
)    grpc_subchannel_call_ref((p))
#define GRPC_SUBCHANNEL_CALL_UNREF (   p,
 
)    grpc_subchannel_call_unref((p))
#define GRPC_SUBCHANNEL_REF (   p,
 
)    grpc_subchannel_ref((p))
#define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
#define GRPC_SUBCHANNEL_UNREF (   p,
 
)    grpc_subchannel_unref((p))

Typedef Documentation

A (sub-)channel that knows how to connect to exactly one target address.

Provides a target for load balancing.

Function Documentation

void grpc_subchannel_add_interested_party ( grpc_subchannel channel,
grpc_pollset pollset 
)

express interest in channel's activities through pollset.

char* grpc_subchannel_call_get_peer ( grpc_subchannel_call subchannel_call)

continue querying for peer

void grpc_subchannel_call_process_op ( grpc_subchannel_call subchannel_call,
grpc_transport_stream_op op 
)

continue processing a transport op

void grpc_subchannel_call_ref ( grpc_subchannel_call call)
void grpc_subchannel_call_unref ( grpc_subchannel_call call)
grpc_connectivity_state grpc_subchannel_check_connectivity ( grpc_subchannel channel)

poll the current connectivity state of a channel

grpc_subchannel* grpc_subchannel_create ( grpc_connector connector,
grpc_subchannel_args args 
)

create a subchannel given a connector

void grpc_subchannel_create_call ( grpc_subchannel subchannel,
grpc_pollset pollset,
grpc_subchannel_call **  target,
grpc_iomgr_closure notify 
)

construct a call (possibly asynchronously)

void grpc_subchannel_del_interested_party ( grpc_subchannel channel,
grpc_pollset pollset 
)

stop following channel's activity through pollset.

void grpc_subchannel_notify_on_state_change ( grpc_subchannel channel,
grpc_connectivity_state state,
grpc_iomgr_closure notify 
)

call notify when the connectivity state of a channel changes from *state.

Updates *state with the new state of the channel

void grpc_subchannel_process_transport_op ( grpc_subchannel subchannel,
grpc_transport_op op 
)

process a transport level op

void grpc_subchannel_ref ( grpc_subchannel channel)
void grpc_subchannel_unref ( grpc_subchannel channel)