Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

gnutella_node Struct Reference

#include <nodes.h>


Data Fields

node_magic_t magic
 Magic value for consistency checks.

gnet_node_t node_handle
 Handle of this node.

node_peer_t peermode
 Operating mode (leaf, ultra, normal).

node_peer_t start_peermode
 Operating mode when handshaking begun.

gchar error_str [256]
 To sprintf() error strings with vars.

gnutella_socketsocket
 Socket of the node.

guint8 proto_major
 Handshaking protocol major number.

guint8 proto_minor
 Handshaking protocol minor number.

node_protocol_types_t protocol_type
guint8 qrp_major
 Query routing protocol major number.

guint8 qrp_minor
 Query routing protocol minor number.

guint8 uqrp_major
 UP Query routing protocol major number.

guint8 uqrp_minor
 UP Query routing protocol minor number.

gchar * vendor
 Vendor information (always UTF-8).

gint country
 Country of origin -- encoded ISO3166.

vendor_code vcode
 Vendor code (vcode.u32 == 0 if unknown).

gpointer io_opaque
 Opaque I/O callback information.

gnutella_header header
 Header of the current message.

extvec_t extvec [MAX_EXTVEC]
 GGEP extensions in "fat" messages.

gint extcount
 Amount of extensions held.

guint32 size
 How many bytes we need to read for the current message.

gchar * data
 data of the current message

guint32 pos
 write position in data

gnet_node_state_t status
 See possible values below.

guint32 flags
 See possible values below.

guint32 attrs
 See possible values below.

guint8 hops_flow
 Don't send queries with a >= hop count.

guint8 max_ttl
 Value of their advertised X-Max-TTL.

guint16 degree
 Value of their advertised X-Degree.

GHashTable * qseen
 Queries seen from this leaf node.

GHashTable * qrelayed
 Queries relayed from this node.

GHashTable * qrelayed_old
 Older version of the `qrelayed' table.

time_t qrelayed_created
 When `qrelayed' was created.

guint32 sent
 Number of sent packets.

guint32 received
 Number of received packets.

guint32 tx_dropped
 Number of packets dropped at TX time.

guint32 rx_dropped
 Number of packets dropped at RX time.

guint32 n_bad
 Number of bad packets received.

guint16 n_dups
 Number of dup messages received (bad).

guint16 n_hard_ttl
 Number of hard_ttl exceeded (bad).

guint32 n_weird
 Number of weird messages from that node.

guint32 n_hostile
 Number of messages from hostile IP.

guint32 allocated
 Size of allocated buffer data, 0 for none.

gboolean have_header
 TRUE if we have got a full message header.

time_t last_update
 Last update of the node.

time_t last_tx
 Last time we transmitted to the node.

time_t last_rx
 Last time we received from the node.

time_t connect_date
 When we got connected (after handshake).

time_t tx_flowc_date
 When we entered in TX flow control.

node_rxfc_monrxfc
 Optional, time spent in RX flow control.

time_t shutdown_date
 When we entered in shutdown mode.

time_t up_date
 When remote server started (0 if unknown).

time_t leaf_flowc_start
 Time when leaf flow-controlled queries.

guint32 shutdown_delay
 How long we can stay in shutdown mode.

const gchar * remove_msg
 Reason of removing.

host_addr_t addr
 ip of the node

guint16 port
 port of the node

gchar * guid
 GUID of node (atom) for push-proxying.

host_addr_t proxy_addr
 ip of the node for push proxyfication

guint16 proxy_port
 port of the node for push proxyfication

mqueue_toutq
 TX Output queue.

squeue_tsearchq
 TX Search queue.

rxdrv_trx
 RX stack top.

gpointer routing_data
 Opaque info, for gnet message routing.

gpointer sent_query_table
 Opaque info, query table sent to node.

gpointer recv_query_table
 Opaque info, query table recved from node.

gpointer qrt_update
 Opaque info, query routing update handle.

gpointer qrt_receive
 Opaque info, query routing reception.

qrt_info_tqrt_info
 Info about received query table.

gpointer alive_pings
 Opaque info, for alive ping checks.

time_t last_alive_ping
 Last time we sent an alive ping.

guint alive_period
 Period for sending alive pings (secs).

wrap_buf_t hello
 Spill buffer for GNUTELLA HELLO.

guint32 tcp_rtt
 RTT when exchange takes place over TCP.

guint32 udp_rtt
 RTT when exchange takes place over UDP.

gpointer tsync_ev
 Time sync event.

guint32 id
 Unique internal ID.

guint ping_throttle
 Period for accepting new pings (secs).

time_t ping_accept
 Time after which we accept new pings.

time_t next_ping
 When to send a ping, for "OLD" clients.

gchar ping_guid [GUID_RAW_SIZE]
 The GUID of the last accepted ping.

guchar pong_needed [MAX_CACHE_HOPS+1]
 Pongs needed, by hop value.

guchar pong_missing
 Sum(pong_needed[i]), i = 0..MAX_CACHE_HOPS.

host_addr_t gnet_addr
 When != 0, we know the remote IP/port.

guint16 gnet_port
 (listening port, that is )

guint32 gnet_files_count
 Used to answer "Crawling" pings.

guint32 gnet_kbytes_count
 Used to answer "Crawling" pings.

host_addr_t gnet_pong_addr
 When != 0, last IP we got in pong.

host_addr_t gnet_qhit_addr
 When != 0, last IP we got in query hit.

gchar * gnet_guid
 GUID of node (atom) seen on the network.

guint32 n_ping_throttle
 Number of pings we throttled.

guint32 n_ping_accepted
 Number of pings we accepted.

guint32 n_ping_special
 Number of special pings we received.

guint32 n_ping_sent
 Number of pings we sent to this node.

guint32 n_pong_received
 Number of pongs we received from this node.

guint32 n_pong_sent
 Number of pongs we sent to this node.

gint32 tx_given
 Bytes fed to the TX stack (from top).

gint32 tx_deflated
 Bytes deflated by the TX stack.

gint32 tx_written
 Bytes written by the TX stack.

gint32 rx_given
 Bytes fed to the RX stack (from bottom).

gint32 rx_inflated
 Bytes inflated by the RX stack.

gint32 rx_read
 Bytes read from the RX stack.

guint32 qrp_queries
 Queries received under QRP control.

guint32 qrp_matches
 Queries received that incurred a match.

guint32 rx_queries
 Total amount of queries received.

guint32 tx_queries
 Total amount of queries sent.

guint32 rx_qhits
 Total amount of hits received.

guint32 tx_qhits
 Total amount of hits sent.

hsep_ctx_t * hsep
 Horizon size estimation (HSEP) -- TSC, 11/02/2004.


Field Documentation

host_addr_t gnutella_node::addr
 

ip of the node

guint gnutella_node::alive_period
 

Period for sending alive pings (secs).

gpointer gnutella_node::alive_pings
 

Opaque info, for alive ping checks.

guint32 gnutella_node::allocated
 

Size of allocated buffer data, 0 for none.

guint32 gnutella_node::attrs
 

See possible values below.

time_t gnutella_node::connect_date
 

When we got connected (after handshake).

gint gnutella_node::country
 

Country of origin -- encoded ISO3166.

gchar* gnutella_node::data
 

data of the current message

guint16 gnutella_node::degree
 

Value of their advertised X-Degree.

gchar gnutella_node::error_str[256]
 

To sprintf() error strings with vars.

gint gnutella_node::extcount
 

Amount of extensions held.

extvec_t gnutella_node::extvec[MAX_EXTVEC]
 

GGEP extensions in "fat" messages.

guint32 gnutella_node::flags
 

See possible values below.

host_addr_t gnutella_node::gnet_addr
 

When != 0, we know the remote IP/port.

guint32 gnutella_node::gnet_files_count
 

Used to answer "Crawling" pings.

gchar* gnutella_node::gnet_guid
 

GUID of node (atom) seen on the network.

guint32 gnutella_node::gnet_kbytes_count
 

Used to answer "Crawling" pings.

host_addr_t gnutella_node::gnet_pong_addr
 

When != 0, last IP we got in pong.

guint16 gnutella_node::gnet_port
 

(listening port, that is )

host_addr_t gnutella_node::gnet_qhit_addr
 

When != 0, last IP we got in query hit.

gchar* gnutella_node::guid
 

GUID of node (atom) for push-proxying.

gboolean gnutella_node::have_header
 

TRUE if we have got a full message header.

struct gnutella_header gnutella_node::header
 

Header of the current message.

wrap_buf_t gnutella_node::hello
 

Spill buffer for GNUTELLA HELLO.

guint8 gnutella_node::hops_flow
 

Don't send queries with a >= hop count.

hsep_ctx_t* gnutella_node::hsep
 

Horizon size estimation (HSEP) -- TSC, 11/02/2004.

guint32 gnutella_node::id
 

Unique internal ID.

gpointer gnutella_node::io_opaque
 

Opaque I/O callback information.

time_t gnutella_node::last_alive_ping
 

Last time we sent an alive ping.

time_t gnutella_node::last_rx
 

Last time we received from the node.

time_t gnutella_node::last_tx
 

Last time we transmitted to the node.

time_t gnutella_node::last_update
 

Last update of the node.

time_t gnutella_node::leaf_flowc_start
 

Time when leaf flow-controlled queries.

node_magic_t gnutella_node::magic
 

Magic value for consistency checks.

guint8 gnutella_node::max_ttl
 

Value of their advertised X-Max-TTL.

guint32 gnutella_node::n_bad
 

Number of bad packets received.

guint16 gnutella_node::n_dups
 

Number of dup messages received (bad).

guint16 gnutella_node::n_hard_ttl
 

Number of hard_ttl exceeded (bad).

guint32 gnutella_node::n_hostile
 

Number of messages from hostile IP.

guint32 gnutella_node::n_ping_accepted
 

Number of pings we accepted.

guint32 gnutella_node::n_ping_sent
 

Number of pings we sent to this node.

guint32 gnutella_node::n_ping_special
 

Number of special pings we received.

guint32 gnutella_node::n_ping_throttle
 

Number of pings we throttled.

guint32 gnutella_node::n_pong_received
 

Number of pongs we received from this node.

guint32 gnutella_node::n_pong_sent
 

Number of pongs we sent to this node.

guint32 gnutella_node::n_weird
 

Number of weird messages from that node.

time_t gnutella_node::next_ping
 

When to send a ping, for "OLD" clients.

gnet_node_t gnutella_node::node_handle
 

Handle of this node.

mqueue_t* gnutella_node::outq
 

TX Output queue.

node_peer_t gnutella_node::peermode
 

Operating mode (leaf, ultra, normal).

time_t gnutella_node::ping_accept
 

Time after which we accept new pings.

gchar gnutella_node::ping_guid[GUID_RAW_SIZE]
 

The GUID of the last accepted ping.

guint gnutella_node::ping_throttle
 

Period for accepting new pings (secs).

guchar gnutella_node::pong_missing
 

Sum(pong_needed[i]), i = 0..MAX_CACHE_HOPS.

guchar gnutella_node::pong_needed[MAX_CACHE_HOPS+1]
 

Pongs needed, by hop value.

guint16 gnutella_node::port
 

port of the node

guint32 gnutella_node::pos
 

write position in data

guint8 gnutella_node::proto_major
 

Handshaking protocol major number.

guint8 gnutella_node::proto_minor
 

Handshaking protocol minor number.

node_protocol_types_t gnutella_node::protocol_type
 

host_addr_t gnutella_node::proxy_addr
 

ip of the node for push proxyfication

guint16 gnutella_node::proxy_port
 

port of the node for push proxyfication

GHashTable* gnutella_node::qrelayed
 

Queries relayed from this node.

time_t gnutella_node::qrelayed_created
 

When `qrelayed' was created.

GHashTable* gnutella_node::qrelayed_old
 

Older version of the `qrelayed' table.

guint8 gnutella_node::qrp_major
 

Query routing protocol major number.

guint32 gnutella_node::qrp_matches
 

Queries received that incurred a match.

guint8 gnutella_node::qrp_minor
 

Query routing protocol minor number.

guint32 gnutella_node::qrp_queries
 

Queries received under QRP control.

qrt_info_t* gnutella_node::qrt_info
 

Info about received query table.

gpointer gnutella_node::qrt_receive
 

Opaque info, query routing reception.

gpointer gnutella_node::qrt_update
 

Opaque info, query routing update handle.

GHashTable* gnutella_node::qseen
 

Queries seen from this leaf node.

guint32 gnutella_node::received
 

Number of received packets.

gpointer gnutella_node::recv_query_table
 

Opaque info, query table recved from node.

const gchar* gnutella_node::remove_msg
 

Reason of removing.

gpointer gnutella_node::routing_data
 

Opaque info, for gnet message routing.

rxdrv_t* gnutella_node::rx
 

RX stack top.

guint32 gnutella_node::rx_dropped
 

Number of packets dropped at RX time.

gint32 gnutella_node::rx_given
 

Bytes fed to the RX stack (from bottom).

gint32 gnutella_node::rx_inflated
 

Bytes inflated by the RX stack.

guint32 gnutella_node::rx_qhits
 

Total amount of hits received.

guint32 gnutella_node::rx_queries
 

Total amount of queries received.

gint32 gnutella_node::rx_read
 

Bytes read from the RX stack.

struct node_rxfc_mon* gnutella_node::rxfc
 

Optional, time spent in RX flow control.

squeue_t* gnutella_node::searchq
 

TX Search queue.

guint32 gnutella_node::sent
 

Number of sent packets.

gpointer gnutella_node::sent_query_table
 

Opaque info, query table sent to node.

time_t gnutella_node::shutdown_date
 

When we entered in shutdown mode.

guint32 gnutella_node::shutdown_delay
 

How long we can stay in shutdown mode.

guint32 gnutella_node::size
 

How many bytes we need to read for the current message.

struct gnutella_socket* gnutella_node::socket
 

Socket of the node.

node_peer_t gnutella_node::start_peermode
 

Operating mode when handshaking begun.

gnet_node_state_t gnutella_node::status
 

See possible values below.

guint32 gnutella_node::tcp_rtt
 

RTT when exchange takes place over TCP.

gpointer gnutella_node::tsync_ev
 

Time sync event.

gint32 gnutella_node::tx_deflated
 

Bytes deflated by the TX stack.

guint32 gnutella_node::tx_dropped
 

Number of packets dropped at TX time.

time_t gnutella_node::tx_flowc_date
 

When we entered in TX flow control.

gint32 gnutella_node::tx_given
 

Bytes fed to the TX stack (from top).

guint32 gnutella_node::tx_qhits
 

Total amount of hits sent.

guint32 gnutella_node::tx_queries
 

Total amount of queries sent.

gint32 gnutella_node::tx_written
 

Bytes written by the TX stack.

guint32 gnutella_node::udp_rtt
 

RTT when exchange takes place over UDP.

time_t gnutella_node::up_date
 

When remote server started (0 if unknown).

guint8 gnutella_node::uqrp_major
 

UP Query routing protocol major number.

guint8 gnutella_node::uqrp_minor
 

UP Query routing protocol minor number.

union vendor_code gnutella_node::vcode
 

Vendor code (vcode.u32 == 0 if unknown).

gchar* gnutella_node::vendor
 

Vendor information (always UTF-8).


The documentation for this struct was generated from the following file:
Generated on Sun Feb 12 10:50:12 2006 for Gtk-Gnutella by doxygen 1.3.6