sick_visionary_cpp_shared
src
TcpSocket.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
#include <vector>
12
13
#include "
ITransport.h
"
14
15
namespace
visionary
{
16
17
class
SockRecord;
// forward definition
18
19
class
TcpSocket
:
public
ITransport
20
{
21
public
:
22
using
ByteBuffer
= std::vector<std::uint8_t>;
23
24
TcpSocket
();
25
virtual
~TcpSocket
();
26
34
int
connect
(
const
std::string& ipaddr, std::uint16_t port, std::uint32_t timeoutMs = 5000);
35
int
shutdown
()
override
;
36
int
getLastError
()
override
;
37
38
using
ITransport::send
;
39
send_return_t
send
(
const
char
* pData,
size_t
size)
override
;
40
recv_return_t
recv
(
ByteBuffer
& buffer, std::size_t maxBytesToReceive)
override
;
41
recv_return_t
read
(
ByteBuffer
& buffer, std::size_t nBytesToReceive)
override
;
42
43
private
:
44
std::unique_ptr<SockRecord>
m_pSockRecord
;
// buffer for a SOCKET
45
};
46
47
}
// namespace visionary
visionary::TcpSocket::getLastError
int getLastError() override
Definition:
TcpSocket.cpp:301
visionary::TcpSocket::recv
recv_return_t recv(ByteBuffer &buffer, std::size_t maxBytesToReceive) override
Definition:
TcpSocket.cpp:237
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::TcpSocket::TcpSocket
TcpSocket()
Definition:
TcpSocket.cpp:24
visionary::TcpSocket::shutdown
int shutdown() override
Definition:
TcpSocket.cpp:217
visionary::TcpSocket::send
send_return_t send(const char *pData, size_t size) override
Definition:
TcpSocket.cpp:230
visionary::TcpSocket::read
recv_return_t read(ByteBuffer &buffer, std::size_t nBytesToReceive) override
Definition:
TcpSocket.cpp:255
visionary::TcpSocket::m_pSockRecord
std::unique_ptr< SockRecord > m_pSockRecord
Definition:
TcpSocket.h:44
visionary::TcpSocket::~TcpSocket
virtual ~TcpSocket()
Definition:
TcpSocket.cpp:28
visionary::ITransport::send_return_t
ssize_t send_return_t
Definition:
ITransport.h:28
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::TcpSocket::connect
int connect(const std::string &ipaddr, std::uint16_t port, std::uint32_t timeoutMs=5000)
Definition:
TcpSocket.cpp:36
visionary::TcpSocket
Definition:
TcpSocket.h:19
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:48:42