YARP
Yet Another Robot Platform
TcpCarrier.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef YARP_OS_IMPL_TCPCARRIER_H
8 #define YARP_OS_IMPL_TCPCARRIER_H
9 
11 
12 namespace yarp {
13 namespace os {
14 namespace impl {
15 
20  public AbstractCarrier
21 {
22 public:
23  TcpCarrier(bool requireAckFlag = true);
24 
25  Carrier* create() const override;
26 
27  std::string getName() const override;
28 
29  virtual int getSpecifierCode() const;
30 
31  bool checkHeader(const yarp::os::Bytes& header) override;
32  void getHeader(yarp::os::Bytes& header) const override;
33  void setParameters(const yarp::os::Bytes& header) override;
34  bool requireAck() const override;
35  bool isConnectionless() const override;
36  bool respondToHeader(yarp::os::ConnectionState& proto) override;
37  bool expectReplyToHeader(yarp::os::ConnectionState& proto) override;
38 
39 private:
40  bool requireAckFlag;
41 };
42 
43 } // namespace impl
44 } // namespace os
45 } // namespace yarp
46 
47 #endif // YARP_OS_IMPL_TCPCARRIER_H
A starter class for implementing simple carriers.
A simple abstraction for a block of bytes.
Definition: Bytes.h:25
A base class for connection types (tcp, mcast, shmem, ...) which are called carriers in YARP.
Definition: Carrier.h:45
The basic state of a connection - route, streams in use, etc.
Communicating between two ports via TCP.
Definition: TcpCarrier.h:21
The main, catch-all namespace for YARP.
Definition: dirs.h:16
#define YARP_os_impl_API
Definition: api.h:46