41 lines
901 B
C++
41 lines
901 B
C++
|
|
/*
|
|||
|
|
* IMessageLink.h
|
|||
|
|
*
|
|||
|
|
* Created on: 31 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2017 <EFBFBD>.
|
|||
|
|
* Author: titov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef SOURCES_COMMUNICATION_ITXLINKLINK_H_
|
|||
|
|
#define SOURCES_COMMUNICATION_ITXLINKLINK_H_
|
|||
|
|
|
|||
|
|
#include "../../driver/IDataLink.hh"
|
|||
|
|
#include "IMessageSeries.hh"
|
|||
|
|
|
|||
|
|
#include <cstddef>
|
|||
|
|
|
|||
|
|
namespace communication {
|
|||
|
|
|
|||
|
|
class IMessageLink {
|
|||
|
|
public:
|
|||
|
|
typedef driver::IRxLink istream;
|
|||
|
|
typedef driver::ITxLink ostream;
|
|||
|
|
|
|||
|
|
//todo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> iostream?
|
|||
|
|
virtual istream & getData() = 0;
|
|||
|
|
virtual ostream & createMessage( std::size_t size ) = 0;
|
|||
|
|
|
|||
|
|
//todo <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).
|
|||
|
|
virtual bool createMessageSeries( std::size_t num_messages, IMessageSeriesHandler * handler ) = 0;
|
|||
|
|
|
|||
|
|
virtual std::size_t transmitBuffCapacity() const = 0;
|
|||
|
|
virtual std::size_t receiveBuffCapacity() const = 0;
|
|||
|
|
|
|||
|
|
virtual ~IMessageLink() = default;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif /* SOURCES_COMMUNICATION_ITXLINKLINK_H_ */
|