X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FSocketSink.cc;h=7e5e17340470c809f13cb6bee64bb5f81c7b4301;hb=93d9568d448749dc187e7622b733a4a3caa319df;hp=ef3dbc4e4d4de66e3f31bd3d1241ccafbed95bbb;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/PPI/SocketSink.cc b/senf/PPI/SocketSink.cc index ef3dbc4..7e5e173 100644 --- a/senf/PPI/SocketSink.cc +++ b/senf/PPI/SocketSink.cc @@ -25,39 +25,45 @@ // Custom includes #include "SocketSink.hh" -#include "../Socket/ClientSocketHandle.hh" +#include #define prefix_ -prefix_ senf::ppi::IPv4SourceForcingDgramWriter::IPv4SourceForcingDgramWriter(){ +prefix_ senf::ppi::IPv4SourceForcingDgramWriter::IPv4SourceForcingDgramWriter() +{ source_ = senf::INet4Address::from_string("0.0.0.0"); destination_ = senf::INet4Address::from_string("0.0.0.0"); protocolId_ = 0; } -prefix_ senf::ppi::IPv4SourceForcingDgramWriter::IPv4SourceForcingDgramWriter(senf::INet4Address sourceAddr, senf::INet4SocketAddress destAddr){ +prefix_ senf::ppi::IPv4SourceForcingDgramWriter:: +IPv4SourceForcingDgramWriter(senf::INet4Address sourceAddr, senf::INet4SocketAddress destAddr) +{ source(sourceAddr); destination(destAddr); } -prefix_ void senf::ppi::IPv4SourceForcingDgramWriter::source(senf::INet4Address & source){ +prefix_ void senf::ppi::IPv4SourceForcingDgramWriter::source(senf::INet4Address & source) +{ source_ = source; } -prefix_ void senf::ppi::IPv4SourceForcingDgramWriter::destination(senf::INet4SocketAddress & dest){ + +prefix_ void senf::ppi::IPv4SourceForcingDgramWriter::destination(senf::INet4SocketAddress & dest) +{ destination_ = dest.address(); protocolId_ = dest.port(); } -prefix_ void senf::ppi::IPv4SourceForcingDgramWriter::operator()(Handle handle, +prefix_ bool senf::ppi::IPv4SourceForcingDgramWriter::operator()(Handle & handle, Packet const & packet) { - sendtoandfrom( + return sendtoandfrom( handle.fd(), reinterpret_cast (&*packet.data().begin()), packet.size(), reinterpret_cast (&destination_), protocolId_, - reinterpret_cast (&source_)); + reinterpret_cast (&source_)) > 0; } prefix_ int senf::ppi::IPv4SourceForcingDgramWriter::sendtoandfrom( @@ -102,34 +108,41 @@ prefix_ int senf::ppi::IPv4SourceForcingDgramWriter::sendtoandfrom( return sendmsg(sock, &h, 0); } -prefix_ senf::ppi::IPv6SourceForcingDgramWriter::IPv6SourceForcingDgramWriter(){ +prefix_ senf::ppi::IPv6SourceForcingDgramWriter::IPv6SourceForcingDgramWriter() +{ source_ = senf::INet6Address::from_string("0::0"); destination_ = senf::INet6Address::from_string("0::0"); protocolId_ = 0; } -prefix_ senf::ppi::IPv6SourceForcingDgramWriter::IPv6SourceForcingDgramWriter(senf::INet6Address sourceAddr, senf::INet6SocketAddress destAddr){ +prefix_ senf::ppi::IPv6SourceForcingDgramWriter:: +IPv6SourceForcingDgramWriter(senf::INet6Address sourceAddr, senf::INet6SocketAddress destAddr) +{ source(sourceAddr); destination(destAddr); } -prefix_ void senf::ppi::IPv6SourceForcingDgramWriter::source(senf::INet6Address & source){ +prefix_ void senf::ppi::IPv6SourceForcingDgramWriter::source(senf::INet6Address & source) +{ source_ = source; } -prefix_ void senf::ppi::IPv6SourceForcingDgramWriter::destination(senf::INet6SocketAddress & dest){ + +prefix_ void senf::ppi::IPv6SourceForcingDgramWriter::destination(senf::INet6SocketAddress & dest) +{ destination_ = dest.address(); protocolId_ = dest.port(); } -prefix_ void senf::ppi::IPv6SourceForcingDgramWriter::operator()(Handle handle, - Packet const & packet){ - sendtoandfrom( +prefix_ bool senf::ppi::IPv6SourceForcingDgramWriter::operator()(Handle & handle, + Packet const & packet) +{ + return sendtoandfrom( handle.fd(), reinterpret_cast (&*packet.data().begin()), packet.size(), reinterpret_cast (&destination_), protocolId_, - reinterpret_cast (&source_)); + reinterpret_cast (&source_)) > 0; } prefix_ int senf::ppi::IPv6SourceForcingDgramWriter::sendtoandfrom(