Rev 1310 | Rev 1314 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1310 | Rev 1311 | ||
|---|---|---|---|
| Line 19... | Line 19... | ||
| 19 | CanNet::CanNet(Broker::pointer broker, string address, unsigned int port) : Subscriber(broker, false) |
19 | CanNet::CanNet(Broker::pointer broker, string address, unsigned int port) : Subscriber(broker, false) |
| 20 | { |
20 | { |
| 21 | LOG.setName("CanNetSubscriber"); |
21 | LOG.setName("CanNetSubscriber"); |
| 22 | 22 | ||
| 23 | this->myUdpServer = UdpServer::getInstance(port); |
23 | this->myUdpServer = UdpServer::getInstance(port); |
| 24 |
|
24 | this->myUdpServer->connect(boost::bind(&CanNet::onNewData, this, _1, _2)); |
| 25 | 25 | ||
| 26 | this->myEndpoint = |
26 | this->myEndpoint = this->myUdpServer->getEndpoint(address); |
| 27 | 27 | ||
| 28 | this->sendPing(); |
28 | this->sendPing(); |
| 29 | 29 | ||
| 30 | this->start(); |
30 | this->start(); |
| 31 | } |
31 | } |
| Line 115... | Line 115... | ||
| 115 | void CanNet::sendPing() |
115 | void CanNet::sendPing() |
| 116 | { |
116 | { |
| 117 | byte_list data(1, (unsigned char) PACKET_PING); |
117 | byte_list data(1, (unsigned char) PACKET_PING); |
| 118 | 118 | ||
| 119 | LOG.info("Sending ping packet..."); |
119 | LOG.info("Sending ping packet..."); |
| 120 |
|
120 | this->myUdpServer->sendTo(this->myEndpoint, data); |
| 121 | } |
121 | } |
| 122 | 122 | ||
| 123 | void CanNet::onNewMessage(Message::pointer message) |
123 | void CanNet::onNewMessage(Message::pointer message) |
| 124 | { |
124 | { |
| 125 | LOG.debug("update called"); |
125 | LOG.debug("update called"); |
| Line 129... | Line 129... | ||
| 129 | byte_list data; |
129 | byte_list data; |
| 130 | 130 | ||
| 131 | // TODO Convert message-id to long |
131 | // TODO Convert message-id to long |
| 132 | unsigned long id; |
132 | unsigned long id; |
| 133 | 133 | ||
| 134 |
|
134 | this->myUdpServer->sendTo(this->myEndpoint, buildPacket(id, data)); |
| 135 | } |
135 | } |
| 136 | 136 | ||
| 137 | void CanNet::onNewData(const udp::endpoint & sender, const byte_list & bytes) |
137 | void CanNet::onNewData(const udp::endpoint & sender, const byte_list & bytes) |
| 138 | { |
138 | { |
| 139 | //LOG.debug(udp::endpoint(sender).address().to_string() + "==" + this->myEndpoint.address().to_string()); |
139 | //LOG.debug(udp::endpoint(sender).address().to_string() + "==" + this->myEndpoint.address().to_string()); |