SatCat5
satcat5::eth::ChatEcho Class Referencefinal

Detailed Description

Service for echoing ChatProto text messages.

For each received ChatProto message, send a reply containing prefix "You said..." followed by the received message contents. To avoid amplification with multiple ChatEcho services, it always replies to the sender, never to the broadcast address.

See also
satcat5::eth::ChatProto

Definition at line 107 of file eth_chat.h.

#include <eth_chat.h>

Inheritance diagram for satcat5::eth::ChatEcho:
[legend]
Collaboration diagram for satcat5::eth::ChatEcho:
[legend]

Public Member Functions

 ChatEcho (satcat5::eth::ChatProto *service)
 Bind to the designated ChatProto object.
 

Protected Member Functions

void frame_rcvd (satcat5::io::LimitedRead &src) override
 Dispatch calls frame_rcvd(...) for each incoming frame with with a matching net::Type value. More...
 

Protected Attributes

satcat5::eth::ChatProto *const m_chat
 
satcat5::net::Type m_filter
 Incoming packet filter.
 

Private Attributes

satcat5::net::Protocolm_next
 Linked list of Protocols.
 

Member Function Documentation

◆ frame_rcvd()

void ChatEcho::frame_rcvd ( satcat5::io::LimitedRead src)
overrideprotectedvirtual

Dispatch calls frame_rcvd(...) for each incoming frame with with a matching net::Type value.

The child class SHOULD read the frame contents from the provided "src" object, which is only valid until the function returns.

To send a reply:

  • Call m_iface->open_reply() to obtain a Writable object. (This also writes out any applicable frame headers.)
  • Write frame contents, then call write_finalize().

The child class MUST override this method.

Implements satcat5::net::Protocol.

Definition at line 162 of file eth_chat.cc.


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