annotate src/message/bye.c @ 0:d39e1d0d75b6

initial add
author paulo@hit-nxdomain.opendns.com
date Sat, 20 Feb 2010 21:18:28 -0800
parents
children
rev   line source
paulo@0 1 /*
paulo@0 2 * $Id: bye.c,v 1.2 2004/01/07 07:27:18 hipnod Exp $
paulo@0 3 *
paulo@0 4 * Copyright (C) 2001-2003 giFT project (gift.sourceforge.net)
paulo@0 5 *
paulo@0 6 * This program is free software; you can redistribute it and/or modify it
paulo@0 7 * under the terms of the GNU General Public License as published by the
paulo@0 8 * Free Software Foundation; either version 2, or (at your option) any
paulo@0 9 * later version.
paulo@0 10 *
paulo@0 11 * This program is distributed in the hope that it will be useful, but
paulo@0 12 * WITHOUT ANY WARRANTY; without even the implied warranty of
paulo@0 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
paulo@0 14 * General Public License for more details.
paulo@0 15 */
paulo@0 16
paulo@0 17 #include "gt_gnutella.h"
paulo@0 18 #include "message/msg_handler.h"
paulo@0 19
paulo@0 20 /* sent upon connection-close by some nodes */
paulo@0 21 GT_MSG_HANDLER(gt_msg_bye)
paulo@0 22 {
paulo@0 23 uint16_t code;
paulo@0 24 char *reason;
paulo@0 25
paulo@0 26 code = gt_packet_get_uint16 (packet);
paulo@0 27 reason = gt_packet_get_str (packet);
paulo@0 28
paulo@0 29 /* log the message and code and be done with it */
paulo@0 30 if (MSG_DEBUG)
paulo@0 31 {
paulo@0 32 GT->DBGFN (GT, "%s:%hu sent bye packet: code %hu, reason: %s",
paulo@0 33 net_ip_str (GT_NODE(c)->ip), GT_NODE(c)->gt_port,
paulo@0 34 code, reason);
paulo@0 35 }
paulo@0 36
paulo@0 37 /* we incur the TIME_WAIT penalty instead of the remote node if we
paulo@0 38 * close before they do */
paulo@0 39 gt_node_disconnect (c);
paulo@0 40 }