GNUnet 0.21.1
Backtalker Struct Reference

A Backtalker is a peer sending us backchannel messages. More...

Collaboration diagram for Backtalker:
[legend]

Data Fields

struct GNUNET_PeerIdentity pid
 Peer this is about. More...
 
struct GNUNET_TIME_Absolute monotonic_time
 Last (valid) monotonic time received from this sender. More...
 
struct GNUNET_TIME_Absolute timeout
 When will this entry time out? More...
 
struct GNUNET_CRYPTO_EcdhePublicKey last_ephemeral
 Last (valid) ephemeral key received from this sender. More...
 
struct GNUNET_SCHEDULER_Tasktask
 Task associated with this backtalker. More...
 
struct CommunicatorMessageContextcmc
 Communicator context waiting on this backchannel's get, or NULL. More...
 
struct GNUNET_PEERSTORE_IterateContextget
 Handle for an operation to fetch monotonic_time information from the PEERSTORE, or NULL. More...
 
struct GNUNET_PEERSTORE_StoreContextsc
 Handle to a PEERSTORE store operation for this pid's monotonic_time. More...
 
size_t body_size
 Number of bytes of the original message body that follows after this struct. More...
 

Detailed Description

A Backtalker is a peer sending us backchannel messages.

We use this struct to detect monotonic time violations, cache ephemeral key material (to avoid repeatedly checking signatures), and to synchronize monotonic time with the PEERSTORE.

Definition at line 2764 of file gnunet-service-transport.c.

Field Documentation

◆ pid

struct GNUNET_PeerIdentity Backtalker::pid

◆ monotonic_time

struct GNUNET_TIME_Absolute Backtalker::monotonic_time

Last (valid) monotonic time received from this sender.

Definition at line 2774 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_cb(), handle_dv_box(), and update_backtalker_monotime().

◆ timeout

struct GNUNET_TIME_Absolute Backtalker::timeout

When will this entry time out?

Definition at line 2779 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_store_cb(), backtalker_timeout_cb(), and handle_dv_box().

◆ last_ephemeral

struct GNUNET_CRYPTO_EcdhePublicKey Backtalker::last_ephemeral

Last (valid) ephemeral key received from this sender.

Definition at line 2784 of file gnunet-service-transport.c.

Referenced by handle_dv_box().

◆ task

struct GNUNET_SCHEDULER_Task* Backtalker::task

Task associated with this backtalker.

Can be for timeout, or other asynchronous operations.

Definition at line 2790 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_store_cb(), backtalker_timeout_cb(), free_backtalker(), handle_dv_box(), and update_backtalker_monotime().

◆ cmc

struct CommunicatorMessageContext* Backtalker::cmc

Communicator context waiting on this backchannel's get, or NULL.

Definition at line 2795 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_cb(), free_backtalker(), and handle_dv_box().

◆ get

struct GNUNET_PEERSTORE_IterateContext* Backtalker::get

Handle for an operation to fetch monotonic_time information from the PEERSTORE, or NULL.

Definition at line 2801 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_cb(), free_backtalker(), and handle_dv_box().

◆ sc

struct GNUNET_PEERSTORE_StoreContext* Backtalker::sc

Handle to a PEERSTORE store operation for this pid's monotonic_time.

NULL if no PEERSTORE operation is pending.

Definition at line 2807 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_store_cb(), backtalker_timeout_cb(), free_backtalker(), and update_backtalker_monotime().

◆ body_size

size_t Backtalker::body_size

Number of bytes of the original message body that follows after this struct.

Definition at line 2813 of file gnunet-service-transport.c.

Referenced by backtalker_monotime_cb(), and handle_dv_box().


The documentation for this struct was generated from the following file: