23 if (reader->isTextMode()) {
24 reader->convertTextMode();
32 if (writer->isTextMode()) {
33 writer->convertTextMode();
56 bool ok = reader->expectBlock(data, len);
58 readerStore.appendBlock(data, len);
72 std::int8_t x = reader->expectInt8();
73 readerStore.appendInt8(x);
79 std::int16_t x = reader->expectInt16();
80 readerStore.appendInt16(x);
86 std::int32_t x = reader->expectInt32();
88 readerStore.appendInt32(x);
97 std::int64_t x = reader->expectInt64();
98 readerStore.appendInt64(x);
105 readerStore.appendFloat32(x);
112 readerStore.appendFloat64(x);
118 bool ok = reader->pushInt(x);
119 skipNextInt = skipNextInt || ok;
140 return reader->getSize();
145 writer = reader->getWriter();
153 return reader->getReference();
158 return reader->getRemoteContact();
163 return reader->getLocalContact();
170 return writer->isValid();
172 return reader->isValid();
179 return writer->isActive();
181 return reader->isActive();
188 return writer->isError();
190 return reader->isError();
195 writer->appendBlock(data, len);
196 writerStore.appendBlock(data, len);
201 writer->appendInt8(data);
202 writerStore.appendInt8(data);
207 writer->appendInt16(data);
208 writerStore.appendInt16(data);
213 writer->appendInt32(data);
214 writerStore.appendInt32(data);
219 writer->appendInt64(data);
220 writerStore.appendInt64(data);
225 writer->appendFloat32(data);
226 writerStore.appendFloat32(data);
231 writer->appendFloat64(data);
232 writerStore.appendFloat64(data);
237 writer->appendText(str, terminate);
238 writerStore.appendText(str, terminate);
243 writer->appendExternalBlock(data, len);
244 writerStore.appendExternalBlock(data, len);
249 writer->declareSizes(argc, argv);
254 writer->setReplyHandler(reader);
259 writer->setReference(
obj);
300 return reader->setSize(len);
305 reader->flushWriter();
#define BOTTLE_TAG_VOCAB32
A mini-server for performing network communication in the background.
void write(bool forceStrict=false)
Write the current object being returned by BufferedPort::prepare.
An interface for reading from a network connection.
An interface for writing to a network connection.
Interface implemented by all objects that can read themselves from the network, such as Bottle object...
This is a base class for objects that can be both read from and be written to the YARP network.
A base class for nested structures that can be searched.
Minimal requirements for an efficient Writer.
A helper for creating cached object descriptions.
bool expectBlock(char *data, size_t len) override
Read a block of data from the network connection.
std::string expectText(const char terminatingChar) override
Read some text from the network connection.
void declareSizes(int argc, int *argv) override
If you can easily determine how many blocks there are in a message, call this first,...
yarp::conf::float64_t expectFloat64() override
Read a 64-bit floating point number from the network connection.
yarp::os::ConnectionWriter * getWriter() override
Gets a way to reply to the message, if possible.
void setReference(yarp::os::Portable *obj) override
Stores a direct pointer to the object being sent.
bool convertTextMode() override
Reads in a standard description in text mode, and converts it to a standard description in binary.
const yarp::os::Searchable & getConnectionModifiers() const override
Access modifiers associated with the connection, if any.
bool isError() const override
std::int32_t expectInt32() override
Read a 32-bit integer from the network connection.
void setReplyHandler(yarp::os::PortReader &reader) override
This sets a handler to deal with replies to the message.
std::int64_t expectInt64() override
Read a 64-bit integer from the network connection.
void appendText(const std::string &str, const char terminate) override
Send a terminated string to the network connection.
void requestDrop() override
Tag the connection to be dropped after the current message.
void init(yarp::os::ConnectionReader *wrappedReader)
Call this to wrap a specific ConnectionReader.
void fini()
Call this when all reading/writing has been done.
void appendFloat64(yarp::conf::float64_t data) override
Send a representation of a 64-bit floating point number to the network connection.
yarp::os::Contact getLocalContact() const override
Gets information about who is receiving the data, if that information is available.
size_t getSize() const override
Checks how much data is available.
void appendInt8(std::int8_t data) override
Send a representation of a 8-bit integer to the network connection.
const yarp::os::impl::BufferedConnectionWriter & getMessage() const
bool isTextMode() const override
Check if the connection is text mode.
void appendFloat32(yarp::conf::float32_t data) override
Send a representation of a 32-bit floating point number to the network connection.
void appendBlock(const char *data, size_t len) override
Send a block of data to the network connection.
bool isActive() const override
yarp::conf::float32_t expectFloat32() override
Read a 32-bit floating point number from the network connection.
std::int8_t expectInt8() override
Read a 8-bit integer from the network connection.
bool isBareMode() const override
Check if the connection is bare mode.
void appendInt64(std::int64_t data) override
Send a representation of a 64-bit integer to the network connection.
void appendInt32(std::int32_t data) override
Send a representation of a 32-bit integer to the network connection.
yarp::os::Portable * getReference() const override
Get a direct pointer to the object being sent, if possible.
bool pushInt(int x) override
Store an integer to return on the next call to expectInt()
void appendExternalBlock(const char *data, size_t len) override
Send a block of data to the network connection, without making a copy.
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
yarp::os::SizedWriter * getBuffer() override
bool isValid() const override
void flushWriter() override
yarp::os::Contact getRemoteContact() const override
Gets information about who is supplying the data being read, if that information is available.
bool setSize(size_t len) override
std::int16_t expectInt16() override
Read a 16-bit integer from the network connection.
void appendInt16(std::int16_t data) override
Send a representation of a 16-bit integer to the network connection.
const yarp::os::impl::BufferedConnectionWriter & getReply() const
constexpr yarp::conf::vocab32_t createVocab32(char a, char b=0, char c=0, char d=0)
Create a vocab from chars.