TAO_PortableGroup 4.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TAO_UIPMC_Transport Class Reference

Specialization of the base TAO_Transport class to handle the client side MIOP protocol. More...

#include <UIPMC_Transport.h>

Inheritance diagram for TAO_UIPMC_Transport:
Inheritance graph
[legend]
Collaboration diagram for TAO_UIPMC_Transport:
Collaboration graph
[legend]

Public Member Functions

 TAO_UIPMC_Transport (TAO_UIPMC_Connection_Handler *handler, TAO_ORB_Core *orb_core)
 Constructor.
 
 ~TAO_UIPMC_Transport ()=default
 Default destructor.
 
- Public Member Functions inherited from TAO_Transport
 TAO_Transport (CORBA::ULong tag, TAO_ORB_Core *orb_core, size_t input_cdr_size=ACE_CDR::DEFAULT_BUFSIZE)
 
virtual ~TAO_Transport ()
 
CORBA::ULong tag () const
 
TAO_ORB_Coreorb_core () const
 
TAO_Transport_Mux_Strategytms () const
 
TAO_Wait_Strategywait_strategy () const
 
Drain_Result handle_output (TAO::Transport::Drain_Constraints const &c)
 
int bidirectional_flag () const
 
void bidirectional_flag (int flag)
 
void cache_map_entry (TAO::Transport_Cache_Manager::HASH_MAP_ENTRY *entry)
 
TAO::Transport_Cache_Manager::HASH_MAP_ENTRY * cache_map_entry ()
 
size_t id () const
 
void id (size_t id)
 
TAO::Connection_Role opened_as () const
 
void opened_as (TAO::Connection_Role)
 
unsigned long purging_order () const
 
void purging_order (unsigned long value)
 
bool queue_is_empty ()
 
bool register_if_necessary ()
 
void provide_handler (TAO::Connection_Handler_Set &handlers)
 
bool provide_blockable_handler (TAO::Connection_Handler_Set &handlers)
 
virtual int remove_handler ()
 
bool idle_after_send ()
 
bool idle_after_reply ()
 
virtual void close_connection ()
 
void messaging_init (TAO_GIOP_Message_Version const &version)
 
virtual int tear_listen_point_list (TAO_InputCDR &cdr)
 
virtual bool post_connect_hook ()
 
ACE_Event_Handler::Reference_Count add_reference ()
 
ACE_Event_Handler::Reference_Count remove_reference ()
 
TAO_GIOP_Message_Basemessaging_object ()
 
bool is_connected () const
 
bool connection_closed_on_read () const
 
bool post_open (size_t id)
 
void pre_close ()
 
TAO_Connection_Handlerconnection_handler ()
 
TAO_OutputCDRout_stream ()
 
TAO_SYNCH_MUTEXoutput_cdr_lock ()
 
bool can_be_purged ()
 
virtual void set_bidir_context_info (TAO_Operation_Details &opdetails)
 
int generate_locate_request (TAO_Target_Specification &spec, TAO_Operation_Details &opdetails, TAO_OutputCDR &output)
 
virtual int generate_request_header (TAO_Operation_Details &opd, TAO_Target_Specification &spec, TAO_OutputCDR &msg)
 
int recache_transport (TAO_Transport_Descriptor_Interface *desc)
 
virtual int handle_input (TAO_Resume_Handle &rh, ACE_Time_Value *max_wait_time=0)
 
virtual int send_message_shared (TAO_Stub *stub, TAO_Message_Semantics message_semantics, const ACE_Message_Block *message_block, ACE_Time_Value *max_wait_time)
 
int format_queue_message (TAO_OutputCDR &stream, ACE_Time_Value *max_wait_time, TAO_Stub *stub)
 
int send_message_block_chain (const ACE_Message_Block *message_block, size_t &bytes_transferred, ACE_Time_Value *max_wait_time=0)
 
int send_message_block_chain_i (const ACE_Message_Block *message_block, size_t &bytes_transferred, TAO::Transport::Drain_Constraints const &dc)
 
int purge_entry ()
 
int make_idle ()
 
int update_transport ()
 
int handle_timeout (const ACE_Time_Value &current_time, const void *act)
 
size_t recv_buffer_size () const
 
size_t sent_byte_count () const
 
TAO_Codeset_Translator_Basechar_translator () const
 
TAO_Codeset_Translator_Basewchar_translator () const
 
void char_translator (TAO_Codeset_Translator_Base *)
 
void wchar_translator (TAO_Codeset_Translator_Base *)
 
void assign_translators (TAO_InputCDR *, TAO_OutputCDR *)
 
void clear_translators (TAO_InputCDR *, TAO_OutputCDR *)
 
CORBA::Boolean is_tcs_set () const
 
void first_request_sent (bool flag=false)
 
bool first_request () const
 
void send_connection_closed_notifications ()
 
TAO::Transport::Stats * stats () const
 
bool idle_after_send ()
 
bool idle_after_reply ()
 
virtual void close_connection ()
 

Overridden Template Methods

These are implementations of template methods declared by TAO_Transport.

TAO_UIPMC_Connection_Handlerconnection_handler_
 
u_long uuid_hash_
 This UUID used by client for making unique MIOP IDs.
 
u_long total_bytes_outstanding_
 
ACE_Time_Value time_last_sent_
 
virtual int send_request (TAO_Stub *stub, TAO_ORB_Core *orb_core, TAO_OutputCDR &stream, TAO_Message_Semantics message_semantics, ACE_Time_Value *max_wait_time)
 
virtual int send_message (TAO_OutputCDR &stream, TAO_Stub *stub=0, TAO_ServerRequest *request=0, TAO_Message_Semantics message_semantics=TAO_Message_Semantics(), ACE_Time_Value *max_time_wait=0)
 
virtual ACE_Event_Handlerevent_handler_i ()
 
virtual TAO_Connection_Handlerconnection_handler_i ()
 
virtual ssize_t send (iovec *iov, int iovcnt, size_t &bytes_transferred, const ACE_Time_Value *max_wait_time)
 Write the complete Message_Block chain to the connection.
 
virtual ssize_t recv (char *buf, size_t len, ACE_Time_Value const *s=0)
 Shouldn't ever be called on the client side (read len bytes into buf).
 
virtual int register_handler ()
 
bool write_unique_id (TAO_OutputCDR &miop_hdr) const
 Construct and write a unique ID to the MIOP header.
 
void throttle_send_rate (ACE_UINT64 max_fragment_rate, u_long max_fragment_size, u_long this_send_size)
 

Additional Inherited Members

- Public Types inherited from TAO_Transport
enum  Drain_Result_Enum
 
- Public Attributes inherited from TAO_Transport
 DR_ERROR
 
 DR_OK
 
 DR_QUEUE_EMPTY
 
 DR_WOULDBLOCK
 
- Protected Member Functions inherited from TAO_Transport
int process_parsed_messages (TAO_Queued_Data *qd, TAO_Resume_Handle &rh)
 
int send_message_shared_i (TAO_Stub *stub, TAO_Message_Semantics message_semantics, const ACE_Message_Block *message_block, ACE_Time_Value *max_wait_time)
 
int queue_message_i (const ACE_Message_Block *message_block, ACE_Time_Value *max_wait_time, bool back=true)
 
ACE_Time_Value const * io_timeout (TAO::Transport::Drain_Constraints const &dc) const
 
int notify_reactor_now ()
 
- Protected Attributes inherited from TAO_Transport
CORBA::ULong const tag_
 
TAO_ORB_Core *const orb_core_
 
TAO::Transport_Cache_Manager::HASH_MAP_ENTRY * cache_map_entry_
 
TAO_Transport_Mux_Strategytms_
 
TAO_Wait_Strategyws_
 
int bidirectional_flag_
 
TAO::Connection_Role opening_connection_role_
 
TAO_Queued_Messagehead_
 
TAO_Queued_Messagetail_
 
TAO_Incoming_Message_Queue incoming_message_queue_
 
TAO::Incoming_Message_Stack incoming_message_stack_
 
ACE_Time_Value current_deadline_
 
long flush_timer_id_
 
TAO_Transport_Timer transport_timer_
 
ACE_Lockhandler_lock_
 
size_t id_
 
unsigned long purging_order_
 
size_t recv_buffer_size_
 
size_t sent_byte_count_
 
bool is_connected_
 
bool connection_closed_on_read_
 

Detailed Description

Specialization of the base TAO_Transport class to handle the client side MIOP protocol.

Constructor & Destructor Documentation

◆ TAO_UIPMC_Transport()

TAO_UIPMC_Transport::TAO_UIPMC_Transport ( TAO_UIPMC_Connection_Handler * handler,
TAO_ORB_Core * orb_core )

Constructor.

◆ ~TAO_UIPMC_Transport()

TAO_UIPMC_Transport::~TAO_UIPMC_Transport ( )
default

Default destructor.

Member Function Documentation

◆ connection_handler_i()

TAO_Connection_Handler * TAO_UIPMC_Transport::connection_handler_i ( )
protectedvirtual

The connection service handler used for accessing lower layer communication protocols.

Implements TAO_Transport.

◆ event_handler_i()

ACE_Event_Handler * TAO_UIPMC_Transport::event_handler_i ( )
protectedvirtual

The connection service handler used for accessing lower layer communication protocols.

Implements TAO_Transport.

◆ recv()

ssize_t TAO_UIPMC_Transport::recv ( char * buf,
size_t len,
ACE_Time_Value const * s = 0 )
protectedvirtual

Shouldn't ever be called on the client side (read len bytes into buf).

Implements TAO_Transport.

◆ register_handler()

int TAO_UIPMC_Transport::register_handler ( )
protectedvirtual

The connection service handler used for accessing lower layer communication protocols.

Reimplemented from TAO_Transport.

◆ send()

ssize_t TAO_UIPMC_Transport::send ( iovec * iov,
int iovcnt,
size_t & bytes_transferred,
const ACE_Time_Value * max_wait_time )
protectedvirtual

Write the complete Message_Block chain to the connection.

Implements TAO_Transport.

◆ send_message()

int TAO_UIPMC_Transport::send_message ( TAO_OutputCDR & stream,
TAO_Stub * stub = 0,
TAO_ServerRequest * request = 0,
TAO_Message_Semantics message_semantics = TAO_Message_Semantics (),
ACE_Time_Value * max_time_wait = 0 )
virtual

The connection service handler used for accessing lower layer communication protocols.

Implements TAO_Transport.

◆ send_request()

int TAO_UIPMC_Transport::send_request ( TAO_Stub * stub,
TAO_ORB_Core * orb_core,
TAO_OutputCDR & stream,
TAO_Message_Semantics message_semantics,
ACE_Time_Value * max_wait_time )
virtual

@TODO: These methods IMHO should have more meaningful names. The names seem to indicate nothing.

Implements TAO_Transport.

◆ throttle_send_rate()

void TAO_UIPMC_Transport::throttle_send_rate ( ACE_UINT64 max_fragment_rate,
u_long max_fragment_size,
u_long this_send_size )
private

Throttle back clients send rate so as to not exceed client/server buffers and servant message processing time.

◆ write_unique_id()

bool TAO_UIPMC_Transport::write_unique_id ( TAO_OutputCDR & miop_hdr) const
private

Construct and write a unique ID to the MIOP header.

Member Data Documentation

◆ connection_handler_

TAO_UIPMC_Connection_Handler* TAO_UIPMC_Transport::connection_handler_
private

The connection service handler used for accessing lower layer communication protocols.

◆ time_last_sent_

ACE_Time_Value TAO_UIPMC_Transport::time_last_sent_
private

The connection service handler used for accessing lower layer communication protocols.

◆ total_bytes_outstanding_

u_long TAO_UIPMC_Transport::total_bytes_outstanding_
private

On the client side the total amount of outstanding data being transmitted and the time when this was last updated.

◆ uuid_hash_

u_long TAO_UIPMC_Transport::uuid_hash_
private

This UUID used by client for making unique MIOP IDs.


The documentation for this class was generated from the following files: