MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TransporterSendBufferHandle Class Reference

#include <TransporterCallback.hpp>

Inheritance diagram for TransporterSendBufferHandle:

Public Member Functions

virtual Uint32 * getWritePtr (NodeId node, Uint32 lenBytes, Uint32 prio, Uint32 max_use)=0
virtual Uint32 updateWritePtr (NodeId node, Uint32 lenBytes, Uint32 prio)=0
virtual bool forceSend (NodeId node)=0

Detailed Description

This interface implements send buffer access for the TransporterRegistry::prepareSend() method.

It is used to allocate send buffer space for signals to send, and can be used to do per-thread buffer allocation.

Reading and freeing data is done from the TransporterCallback class, methods get_bytes_to_send_iovec() and bytes_send_iovec().

Definition at line 463 of file TransporterCallback.hpp.

Member Function Documentation

virtual bool TransporterSendBufferHandle::forceSend ( NodeId  node)
pure virtual

Called during prepareSend() if send buffer gets full, to do an emergency send to the remote node with the hope of freeing up send buffer for the signal to be queued.

Implemented in mt_send_handle.

virtual Uint32* TransporterSendBufferHandle::getWritePtr ( NodeId  node,
Uint32  lenBytes,
Uint32  prio,
Uint32  max_use 
)
pure virtual

Get space for packing a signal into, allocate more buffer as needed.

The max_use parameter is a limit on the amount of unsent data (whether delivered through get_bytes_to_send_iovec() or not) for one node; the method must return NULL rather than allow to exceed this amount.

Implemented in mt_send_handle.

virtual Uint32 TransporterSendBufferHandle::updateWritePtr ( NodeId  node,
Uint32  lenBytes,
Uint32  prio 
)
pure virtual

Called when new signal is packed.

Returns number of bytes in buffer not yet sent (this includes data that was made available to send with get_bytes_to_send_iovec(), but has not yet been marked as really sent from bytes_sent()).

Implemented in mt_send_handle.


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