PIEthernet send to custom address fix
This commit is contained in:
@@ -621,6 +621,57 @@ bool PIEthernet::listen(bool threaded) {
|
||||
}
|
||||
|
||||
|
||||
bool PIEthernet::listen(const PIEthernet::Address & addr, bool threaded) {
|
||||
setReadAddress(addr);
|
||||
return listen(threaded);
|
||||
}
|
||||
|
||||
|
||||
bool PIEthernet::send(const void * data, int size, bool threaded) {
|
||||
if (threaded) {
|
||||
writeThreaded(data, size);
|
||||
return true;
|
||||
}
|
||||
return (write(data, size) == size);
|
||||
}
|
||||
|
||||
|
||||
bool PIEthernet::send(const PIEthernet::Address & addr, const void * data, int size, bool threaded) {
|
||||
addr_s = addr;
|
||||
if (threaded) {
|
||||
writeThreaded(data, size);
|
||||
return true;
|
||||
}
|
||||
Address pa = addr_s;
|
||||
addr_s = addr;
|
||||
int wr = write(data, size);
|
||||
addr_s = pa;
|
||||
return (wr == size);
|
||||
}
|
||||
|
||||
|
||||
bool PIEthernet::send(const PIByteArray & data, bool threaded) {
|
||||
if (threaded) {
|
||||
writeThreaded(data);
|
||||
return true;
|
||||
}
|
||||
return (write(data) == data.size_s());
|
||||
}
|
||||
|
||||
|
||||
bool PIEthernet::send(const PIEthernet::Address & addr, const PIByteArray & data, bool threaded) {
|
||||
if (threaded) {
|
||||
writeThreaded(data);
|
||||
return true;
|
||||
}
|
||||
Address pa = addr_s;
|
||||
addr_s = addr;
|
||||
int wr = write(data);
|
||||
addr_s = pa;
|
||||
return (wr == data.size_s());
|
||||
}
|
||||
|
||||
|
||||
int PIEthernet::readDevice(void * read_to, int max_size) {
|
||||
//piCout << "read" << sock;
|
||||
if (sock == -1) init();
|
||||
|
||||
Reference in New Issue
Block a user