28 synch_resource, priority,
51 const char* action =
"";
59 ACE_TEXT(
"(%P|%t) TcpSendStrategy::schedule_output() [%d] - ")
60 ACE_TEXT(
"%C data queueing for handle %d.\n"),
94 return ACE_INVALID_HANDLE;
96 return connection->peer().get_handle();
106 ssize_t result = connection->peer().sendv(iov, n);
108 ACE_DEBUG((
LM_DEBUG,
"(%P|%t) TcpSendStrategy::send_bytes_i sent %d bytes\n", result));
120 connection->relink_from_send(do_suspend);
142 DBG_ENTRY_LVL(
"TcpSendStrategy",
"terminate_send_if_suspended",6);
void set_graceful_disconnecting(bool flag)
Set graceful disconnecting flag.
virtual bool is_request_ack() const
virtual ~TcpSendStrategy()
virtual void terminate_send_if_suspended()
SendMode mode() const
Access the current sending mode.
int reset(bool reset_mode=false)
virtual ACE_HANDLE get_handle()
TcpConnection_rch get_connection()
ThreadSynch * synch() const
void clear(SendMode new_mode, SendMode old_mode=MODE_NOT_SET)
virtual ssize_t send_bytes(const iovec iov[], int n, int &bp)
virtual ssize_t send_bytes_i(const iovec iov[], int n)
virtual void work_available()=0
virtual void schedule_output()
Enable or disable output processing by the reactor according to mode.
virtual void add_delayed_notification(TransportQueueElement *element)
virtual void add_delayed_notification(TransportQueueElement *element)
TcpSendStrategy(std::size_t id, TcpDataLink &link, TcpSynchResource *synch_resource, const ReactorTask_rch &task, Priority priority)
virtual ssize_t non_blocking_send(const iovec iov[], int n, int &bp)
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
#define DBG_ENTRY_LVL(CNAME, MNAME, DBG_LVL)
strategy to construct ReactorSynch implementations of ThreadSynch.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
virtual void stop_i()
Let the subclass stop.
virtual void relink(bool do_suspend=true)
Base wrapper class around a data/control sample to be sent.