/* * IMessageLink.h * * Created on: 31 марта 2017 г. * Author: titov */ #ifndef SOURCES_COMMUNICATION_ITXLINKLINK_H_ #define SOURCES_COMMUNICATION_ITXLINKLINK_H_ #include "../../driver/IDataLink.hh" #include "IMessageSeries.hh" #include namespace communication { class IMessageLink { public: typedef driver::IRxLink istream; typedef driver::ITxLink ostream; //todo Почему не iostream? virtual istream & getData() = 0; virtual ostream & createMessage( std::size_t size ) = 0; //todo По хорошему, это должно быть частью протокола (транспортный уровень). 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_ */