~ubuntu-branches/debian/experimental/libtorrent/experimental

« back to all changes in this revision

Viewing changes to src/tracker/tracker_udp.cc

  • Committer: Bazaar Package Importer
  • Author(s): Jose Luis Rivas
  • Date: 2007-03-31 10:31:05 UTC
  • mto: (4.1.4 gutsy) (6.2.1 squeeze) (1.3.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 6.
  • Revision ID: james.westby@ubuntu.com-20070331103105-jzpp1rml6ud0ff75
Tags: upstream-0.11.4
ImportĀ upstreamĀ versionĀ 0.11.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
229
229
  if ((err = rak::address_info::get_address_info(hostname, PF_INET, SOCK_STREAM, &ai)) != 0)
230
230
    return false;
231
231
  
232
 
  if (ai->address()->family() != rak::socket_address::af_inet)
 
232
  if (ai->address()->family() != rak::socket_address::af_inet) {
 
233
    rak::address_info::free_address_info(ai);
233
234
    return false;
 
235
  }
234
236
 
235
237
  m_connectAddress.copy(*ai->address(), ai->length());
236
238
  m_connectAddress.set_port(port);
 
239
  rak::address_info::free_address_info(ai);
237
240
 
238
241
  return m_connectAddress.is_valid();
239
242
}
240
243
 
241
244
void
242
245
TrackerUdp::prepare_connect_input() {
243
 
  m_writeBuffer->reset_position();
 
246
  m_writeBuffer->reset();
244
247
  m_writeBuffer->write_64(m_connectionId = magic_connection_id);
245
248
  m_writeBuffer->write_32(m_action = 0);
246
249
  m_writeBuffer->write_32(m_transactionId = random());
247
 
 
248
 
  m_writeBuffer->prepare_end();
249
250
}
250
251
 
251
252
void
252
253
TrackerUdp::prepare_announce_input() {
253
 
  m_writeBuffer->reset_position();
 
254
  m_writeBuffer->reset();
254
255
 
255
256
  m_writeBuffer->write_64(m_connectionId);
256
257
  m_writeBuffer->write_32(m_action = 1);
275
276
  m_writeBuffer->write_32(m_info->numwant());
276
277
  m_writeBuffer->write_16(manager->connection_manager()->listen_port());
277
278
 
278
 
  m_writeBuffer->prepare_end();
279
 
 
280
279
  if (m_writeBuffer->size_end() != 98)
281
280
    throw internal_error("TrackerUdp::prepare_announce_input() ended up with the wrong size");
282
281
}