UdpSocket.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2023 SICK AG, Waldkirch
3 //
4 // SPDX-License-Identifier: Unlicense
5 
6 #pragma once
7 
8 #include <cstdint>
9 #include <memory> // for unique_ptr
10 #include <string>
11 
12 #include "ITransport.h"
13 
14 namespace visionary {
15 
16 class SockRecord; // forward definition
17 class SockAddrIn;
18 
19 class UdpSocket : public ITransport
20 {
21  class Conv;
22  friend class Conv;
23 
24 public:
25  UdpSocket();
26  virtual ~UdpSocket();
27 
37  int connect(const std::string& ipaddr, std::uint16_t port);
38  int shutdown() override;
39  int getLastError() override;
40 
41  using ITransport::send;
42 
43  send_return_t send(const char* pData, size_t size) override;
44  recv_return_t recv(ByteBuffer& buffer, std::size_t maxBytesToReceive) override;
45  recv_return_t read(ByteBuffer& buffer, std::size_t nBytesToReceive) override;
46 
47 private:
48  std::unique_ptr<SockRecord> m_pSockRecord; // buffer for a SOCKET
49  std::unique_ptr<SockAddrIn> m_pSockAddrIn; // buffer for sockaddr_in
50 };
51 
52 } // namespace visionary
visionary::UdpSocket::recv
recv_return_t recv(ByteBuffer &buffer, std::size_t maxBytesToReceive) override
Definition: UdpSocket.cpp:146
visionary::UdpSocket::connect
int connect(const std::string &ipaddr, std::uint16_t port)
Definition: UdpSocket.cpp:52
visionary::UdpSocket::m_pSockAddrIn
std::unique_ptr< SockAddrIn > m_pSockAddrIn
Definition: UdpSocket.h:49
visionary::ITransport::recv_return_t
ssize_t recv_return_t
Definition: ITransport.h:29
visionary
Definition: MD5.cpp:44
visionary::ITransport::ByteBuffer
std::vector< std::uint8_t > ByteBuffer
Definition: ITransport.h:22
visionary::UdpSocket::shutdown
int shutdown() override
Definition: UdpSocket.cpp:119
visionary::UdpSocket::UdpSocket
UdpSocket()
Definition: UdpSocket.cpp:40
visionary::UdpSocket::Conv
friend class Conv
Definition: UdpSocket.h:21
visionary::UdpSocket
Definition: UdpSocket.h:19
visionary::UdpSocket::getLastError
int getLastError() override
Definition: UdpSocket.cpp:192
visionary::ITransport::send_return_t
ssize_t send_return_t
Definition: ITransport.h:28
visionary::UdpSocket::read
recv_return_t read(ByteBuffer &buffer, std::size_t nBytesToReceive) override
Definition: UdpSocket.cpp:164
visionary::UdpSocket::~UdpSocket
virtual ~UdpSocket()
Definition: UdpSocket.cpp:44
visionary::UdpSocket::m_pSockRecord
std::unique_ptr< SockRecord > m_pSockRecord
Definition: UdpSocket.h:48
visionary::ITransport::send
send_return_t send(const std::vector< T > &buffer)
Definition: ITransport.h:45
ITransport.h
visionary::ITransport
Definition: ITransport.h:19
visionary::UdpSocket::send
send_return_t send(const char *pData, size_t size) override
Definition: UdpSocket.cpp:135


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:46