A Backtalker is a peer sending us backchannel messages. More...
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_HpkeEncapsulation | last_ephemeral |
Last (valid) ephemeral key received from this sender. More... | |
struct GNUNET_SCHEDULER_Task * | task |
Task associated with this backtalker. More... | |
struct CommunicatorMessageContext * | cmc |
Communicator context waiting on this backchannel's get, or NULL. More... | |
struct GNUNET_PEERSTORE_IterateContext * | get |
Handle for an operation to fetch monotonic_time information from the PEERSTORE, or NULL. More... | |
struct GNUNET_PEERSTORE_StoreContext * | sc |
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... | |
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 2811 of file gnunet-service-transport.c.
struct GNUNET_PeerIdentity Backtalker::pid |
Peer this is about.
Definition at line 2816 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_cb(), free_backtalker(), handle_dv_box(), and update_backtalker_monotime().
struct GNUNET_TIME_Absolute Backtalker::monotonic_time |
Last (valid) monotonic time received from this sender.
Definition at line 2821 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_cb(), handle_dv_box(), and update_backtalker_monotime().
struct GNUNET_TIME_Absolute Backtalker::timeout |
When will this entry time out?
Definition at line 2826 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_store_cb(), backtalker_timeout_cb(), and handle_dv_box().
struct GNUNET_CRYPTO_HpkeEncapsulation Backtalker::last_ephemeral |
Last (valid) ephemeral key received from this sender.
Definition at line 2831 of file gnunet-service-transport.c.
Referenced by handle_dv_box().
struct GNUNET_SCHEDULER_Task* Backtalker::task |
Task associated with this backtalker.
Can be for timeout, or other asynchronous operations.
Definition at line 2837 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_store_cb(), backtalker_timeout_cb(), free_backtalker(), handle_dv_box(), and update_backtalker_monotime().
struct CommunicatorMessageContext* Backtalker::cmc |
Communicator context waiting on this backchannel's get, or NULL.
Definition at line 2842 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_cb(), free_backtalker(), and handle_dv_box().
struct GNUNET_PEERSTORE_IterateContext* Backtalker::get |
Handle for an operation to fetch monotonic_time information from the PEERSTORE, or NULL.
Definition at line 2848 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_cb(), free_backtalker(), and handle_dv_box().
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 2854 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_store_cb(), backtalker_timeout_cb(), free_backtalker(), and update_backtalker_monotime().
size_t Backtalker::body_size |
Number of bytes of the original message body that follows after this struct.
Definition at line 2860 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_cb(), and handle_dv_box().