Loading...
Searching...
No Matches
caf::io::network::datagram_servant_impl Class Reference

Default datagram servant implementation. More...

`#include <datagram_servant_impl.hpp>`

Inheritance diagram for caf::io::network::datagram_servant_impl:

## Public Member Functions

| datagram_servant_impl (default_multiplexer &mx, native_socket sockfd, int64_t id)
bool | new_endpoint (network::receive_buffer &buf) override
| Called by the underlying I/O device to indicate that a new remote endpoint has been detected, passing in the received datagram.
void | ack_writes (bool enable) override
| Enables or disables write notifications.
std::vector< char > & | wr_buf (datagram_handle hdl) override
| Returns a new output buffer.
void | enqueue_datagram (datagram_handle hdl, std::vector< char > buf) override
| Enqueue a buffer to be sent as a datagram.
network::receive_buffer & | rd_buf () override
| Returns the current input buffer.
void | graceful_shutdown () override
void | flush () override
| Flushes the output buffer, i.e., sends the content of the buffer via the network.
std::string | addr () const override
uint16_t | port (datagram_handle hdl) const override
| Get the port of the underlying I/O device.
uint16_t | local_port () const override
| Returns the local port of associated socket.
std::vector< datagram_handle > | hdls () const override
| Returns all the handles associated with this servant.
void | add_endpoint (const ip_endpoint &ep, datagram_handle hdl) override
| Adds a new remote endpoint identified by the ip_endpoint to the related manager.
void | remove_endpoint (datagram_handle hdl) override
void | launch () override
void | add_to_loop () override
void | remove_from_loop () override
void | detach_handles () override
Public Member Functions inherited from caf::io::datagram_servant
| datagram_servant (datagram_handle hdl)
bool | consume (execution_unit *, datagram_handle hdl, network::receive_buffer &buf) override
| Called by the underlying I/O device whenever it received data.
void | datagram_sent (execution_unit *, datagram_handle hdl, size_t, std::vector< char > buffer) override
| Called by the underlying I/O device whenever it sent data.
Public Member Functions inherited from caf::io::broker_servant< network::datagram_manager, datagram_handle, new_datagram_msg >
| broker_servant (handle_type x)
handle_type | hdl () const
void | halt ()
void | trigger ()
void | trigger (size_t num)
optional< size_t > | activity_tokens () const
Public Member Functions inherited from caf::io::network::manager
void | set_parent (abstract_broker *ptr)
| Sets the parent for this manager.
abstract_broker * | parent ()
| Returns the parent broker of this manager.
bool | detached () const
| Returns true if this manager has a parent, false otherwise.
Public Member Functions inherited from caf::ref_counted
| ref_counted (const ref_counted &)
ref_counted & | operator= (const ref_counted &)
void | ref () const noexcept
| Increases reference count by one.
void | deref () const noexcept
| Decreases reference count by one and calls request_deletion when it drops to zero.
bool | unique () const noexcept
| Queries whether there is exactly one reference.
size_t | get_reference_count () const noexcept

## Additional Inherited Members

Public Types inherited from caf::io::broker_servant< network::datagram_manager, datagram_handle, new_datagram_msg >
using | handle_type
Protected Member Functions inherited from caf::io::datagram_servant
message | detach_message () override
Protected Member Functions inherited from caf::io::broker_servant< network::datagram_manager, datagram_handle, new_datagram_msg >
void | detach_from (abstract_broker *ptr) override
void | invoke_mailbox_element_impl (execution_unit *ctx, mailbox_element &x)
bool | invoke_mailbox_element (execution_unit *ctx)
new_datagram_msg & | msg ()
Protected Attributes inherited from caf::io::broker_servant< network::datagram_manager, datagram_handle, new_datagram_msg >
handle_type | hdl_
mailbox_element_vals< new_datagram_msg > | value_
optional< size_t > | activity_tokens_
Protected Attributes inherited from caf::ref_counted
std::atomic< size_t > | rc_
Related Symbols inherited from caf::ref_counted
void | intrusive_ptr_add_ref (const ref_counted *p)
void | intrusive_ptr_release (const ref_counted *p)

## Detailed Description

Default datagram servant implementation.

## Member Function Documentation

## ack_writes()

void caf::io::network::datagram_servant_impl::ack_writes | ( | bool | enable | ) |

override virtual

Enables or disables write notifications.

Implements caf::io::datagram_servant.

## add_endpoint()

void caf::io::network::datagram_servant_impl::add_endpoint | ( | const ip_endpoint & | ep,
|  | datagram_handle | hdl )

override virtual

Adds a new remote endpoint identified by the ip_endpoint to the related manager.

Implements caf::io::datagram_servant.

## detach_handles()

void caf::io::network::datagram_servant_impl::detach_handles | ( |  | ) |

override virtual

Implements caf::io::datagram_servant.

## enqueue_datagram()

void caf::io::network::datagram_servant_impl::enqueue_datagram | ( | datagram_handle | ,
|  | std::vector< char > | )

override virtual

Enqueue a buffer to be sent as a datagram.

Implements caf::io::datagram_servant.

## flush()

void caf::io::network::datagram_servant_impl::flush | ( |  | ) |

override virtual

Flushes the output buffer, i.e., sends the content of the buffer via the network.

Implements caf::io::datagram_servant.

## hdls()

std::vector< datagram_handle > caf::io::network::datagram_servant_impl::hdls | ( |  | ) | const

override virtual

Returns all the handles associated with this servant.

Implements caf::io::datagram_servant.

## launch()

void caf::io::network::datagram_servant_impl::launch | ( |  | ) |

override virtual

Implements caf::io::datagram_servant.

## local_port()

uint16_t caf::io::network::datagram_servant_impl::local_port | ( |  | ) | const

override virtual

Returns the local port of associated socket.

Implements caf::io::datagram_servant.

## new_endpoint()

bool caf::io::network::datagram_servant_impl::new_endpoint | ( | network::receive_buffer & | buf | ) |

override virtual

Called by the underlying I/O device to indicate that a new remote endpoint has been detected, passing in the received datagram.

Returns
  true if the manager accepts further enpoints, otherwise false.

Implements caf::io::network::datagram_manager.

## port()

uint16_t caf::io::network::datagram_servant_impl::port | ( | datagram_handle |  | ) | const

override virtual

Get the port of the underlying I/O device.

Implements caf::io::network::datagram_manager.

## rd_buf()

network::receive_buffer & caf::io::network::datagram_servant_impl::rd_buf | ( |  | ) |

override virtual

Returns the current input buffer.

Implements caf::io::datagram_servant.

## remove_endpoint()

void caf::io::network::datagram_servant_impl::remove_endpoint | ( | datagram_handle | hdl | ) |

override virtual

Implements caf::io::datagram_servant.

## wr_buf()

std::vector< char > & caf::io::network::datagram_servant_impl::wr_buf | ( | datagram_handle |  | ) |

override virtual

Returns a new output buffer.

Implements caf::io::datagram_servant.

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

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_io/caf/io/network/datagram_servant_impl.hpp