iPXE
Data Fields
peerdist_block Struct Reference

A PeerDist block download. More...

#include <peerblk.h>

Data Fields

struct refcnt refcnt
 Reference count.
struct interface xfer
 Data transfer interface.
struct interface raw
 Raw data interface.
struct interface retrieval
 Retrieval protocol interface.
struct uriuri
 Original URI.
struct peerdist_range range
 Content range of this block.
struct peerdist_range trim
 Trimmed range of this block.
size_t offset
 Offset of first byte in trimmed range within overall download.
struct digest_algorithmdigest
 Digest algorithm.
size_t digestsize
 Digest size.
void * digestctx
 Digest context (statically allocated at instantiation time)
struct cipher_algorithmcipher
 Cipher algorithm.
void * cipherctx
 Cipher context (dynamically allocated as needed)
unsigned int segment
 Segment index.
uint8_t id [PEERDIST_DIGEST_MAX_SIZE]
 Segment identifier.
uint8_t secret [PEERDIST_DIGEST_MAX_SIZE]
 Segment secret.
unsigned int block
 Block index.
uint8_t hash [PEERDIST_DIGEST_MAX_SIZE]
 Block hash.
size_t pos
 Current position (relative to incoming data stream)
size_t start
 Start of trimmed content (relative to incoming data stream)
size_t end
 End of trimmed content (relative to incoming data stream)
struct xfer_buffer buffer
 Data buffer.
struct process process
 Decryption process.
struct peerdist_block_decrypt decrypt [PEERBLK_NUM_BUFFERS]
 Decryption data buffer descriptors.
size_t cipher_remaining
 Remaining decryption length.
size_t digest_remaining
 Remaining digest length (excluding AES padding bytes)
struct peerdisc_client discovery
 Discovery client.
struct peerdisc_peerpeer
 Current position in discovered peer list.
struct retry_timer timer
 Retry timer.
unsigned int cycles
 Number of full attempt cycles completed.
int rc
 Most recent attempt failure.
unsigned long started
 Time at which block download was started.
unsigned long attempted
 Time at which most recent attempt was started.

Detailed Description

A PeerDist block download.

Definition at line 46 of file peerblk.h.


Field Documentation

Reference count.

Definition at line 48 of file peerblk.h.

Referenced by peerblk_open().

Data transfer interface.

Definition at line 50 of file peerblk.h.

Referenced by peerblk_close(), peerblk_decrypt(), peerblk_deliver(), peerblk_done(), and peerblk_open().

Raw data interface.

Definition at line 52 of file peerblk.h.

Referenced by peerblk_close(), peerblk_open(), peerblk_raw_close(), peerblk_raw_open(), peerblk_raw_rx(), and peerblk_reset().

Retrieval protocol interface.

Definition at line 54 of file peerblk.h.

Referenced by peerblk_close(), peerblk_open(), peerblk_reset(), peerblk_retrieval_close(), peerblk_retrieval_open(), and peerblk_retrieval_rx().

Original URI.

Definition at line 57 of file peerblk.h.

Referenced by peerblk_free(), peerblk_open(), and peerblk_raw_open().

Content range of this block.

Definition at line 59 of file peerblk.h.

Referenced by peerblk_open(), peerblk_parse_block(), peerblk_raw_open(), peerblk_raw_rx(), and peerblk_reset().

Trimmed range of this block.

Definition at line 61 of file peerblk.h.

Referenced by peerblk_open(), and peerblk_reset().

Offset of first byte in trimmed range within overall download.

Definition at line 63 of file peerblk.h.

Referenced by peerblk_open().

Digest algorithm.

Definition at line 66 of file peerblk.h.

Referenced by peerblk_decrypt(), peerblk_done(), peerblk_open(), peerblk_raw_rx(), and peerblk_reset().

Digest size.

Note that this may be shorter than the digest size of the digest algorithm.

Definition at line 72 of file peerblk.h.

Referenced by peerblk_done(), peerblk_open(), peerblk_parse_block(), peerblk_parse_header(), peerblk_parse_iv(), peerblk_parse_useless(), and peerblk_retrieval_open().

Digest context (statically allocated at instantiation time)

Definition at line 74 of file peerblk.h.

Referenced by peerblk_decrypt(), peerblk_done(), peerblk_open(), peerblk_raw_rx(), and peerblk_reset().

Cipher algorithm.

Definition at line 77 of file peerblk.h.

Referenced by peerblk_decrypt(), peerblk_parse_header(), peerblk_parse_iv(), peerblk_reset(), and peerblk_retrieval_close().

Cipher context (dynamically allocated as needed)

Definition at line 79 of file peerblk.h.

Referenced by peerblk_decrypt(), peerblk_free(), peerblk_parse_header(), peerblk_parse_iv(), and peerblk_reset().

Segment identifier.

Definition at line 84 of file peerblk.h.

Referenced by peerblk_open(), peerblk_parse_block(), and peerblk_retrieval_open().

Segment secret.

Definition at line 86 of file peerblk.h.

Referenced by peerblk_open(), and peerblk_parse_header().

unsigned int peerdist_block::block

Block hash.

Definition at line 90 of file peerblk.h.

Referenced by peerblk_done(), and peerblk_open().

Current position (relative to incoming data stream)

Definition at line 93 of file peerblk.h.

Referenced by peerblk_raw_rx(), peerblk_reset(), and peerblk_retrieval_rx().

Start of trimmed content (relative to incoming data stream)

Definition at line 95 of file peerblk.h.

Referenced by peerblk_deliver(), peerblk_parse_block(), peerblk_reset(), peerblk_retrieval_open(), and peerblk_retrieval_rx().

End of trimmed content (relative to incoming data stream)

Definition at line 97 of file peerblk.h.

Referenced by peerblk_deliver(), peerblk_parse_block(), peerblk_reset(), peerblk_retrieval_open(), and peerblk_retrieval_rx().

Decryption process.

Definition at line 102 of file peerblk.h.

Referenced by peerblk_open(), peerblk_reset(), and peerblk_retrieval_close().

Decryption data buffer descriptors.

Definition at line 104 of file peerblk.h.

Referenced by peerblk_decrypt(), peerblk_decrypt_read(), peerblk_decrypt_write(), and peerblk_parse_block().

Remaining decryption length.

Definition at line 106 of file peerblk.h.

Referenced by peerblk_decrypt(), peerblk_parse_block(), and peerblk_retrieval_close().

Remaining digest length (excluding AES padding bytes)

Definition at line 108 of file peerblk.h.

Referenced by peerblk_decrypt(), and peerblk_parse_block().

Discovery client.

Definition at line 111 of file peerblk.h.

Referenced by peerblk_close(), peerblk_done(), peerblk_expired(), and peerblk_open().

Current position in discovered peer list.

Definition at line 113 of file peerblk.h.

Referenced by peerblk_discovered(), peerblk_done(), and peerblk_expired().

unsigned int peerdist_block::cycles

Number of full attempt cycles completed.

Definition at line 117 of file peerblk.h.

Referenced by peerblk_expired().

Most recent attempt failure.

Definition at line 119 of file peerblk.h.

Referenced by peerblk_done(), and peerblk_expired().

unsigned long peerdist_block::started

Time at which block download was started.

Definition at line 122 of file peerblk.h.

Referenced by peerblk_close(), peerblk_discovered(), peerblk_expired(), and peerblk_open().

Time at which most recent attempt was started.

Definition at line 124 of file peerblk.h.

Referenced by peerblk_done(), and peerblk_expired().


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