Files

41 lines
1.3 KiB
C++
Raw Permalink Normal View History

2019-01-06 11:11:21 +01:00
/*
Low Latency IPC Library for high-speed traffic
2019-01-06 11:17:01 +01:00
Copyright (C) 2019 Michael Fabian Dirks <info@xaymar.com>
2019-01-06 11:11:21 +01:00
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
2020-01-23 01:51:15 +01:00
#include <cstdint>
#include <functional>
#include <memory>
2019-01-06 11:11:21 +01:00
#include <vector>
2020-01-23 01:51:15 +01:00
#include "datapath/config.hpp"
#include "datapath/error.hpp"
2019-01-06 11:11:21 +01:00
2020-01-23 01:51:15 +01:00
namespace datapath {
constexpr std::size_t maximum_packet_size = 1048576;
2019-01-06 11:11:21 +01:00
2020-01-23 01:51:15 +01:00
class server;
class socket;
2019-01-06 11:11:21 +01:00
2020-01-23 01:51:15 +01:00
typedef std::vector<std::uint8_t> io_data_t;
typedef std::shared_ptr<void> io_callback_data_t;
2019-01-06 11:11:21 +01:00
2020-01-23 01:51:15 +01:00
typedef std::function<void(std::shared_ptr<::datapath::socket>, ::datapath::error, const ::datapath::io_data_t&,
::datapath::io_callback_data_t)>
io_callback_t;
2019-01-06 11:11:21 +01:00
} // namespace datapath