iPXE
|
Peer Content Caching and Retrieval (PeerDist) protocol block downloads. More...
#include <stdint.h>
#include <ipxe/refcnt.h>
#include <ipxe/interface.h>
#include <ipxe/crypto.h>
#include <ipxe/aes.h>
#include <ipxe/xferbuf.h>
#include <ipxe/retry.h>
#include <ipxe/process.h>
#include <ipxe/pccrc.h>
#include <ipxe/peerdisc.h>
Go to the source code of this file.
Data Structures | |
struct | peerdist_block_decrypt |
A PeerDist retrieval protocol decryption buffer descriptor. More... | |
struct | peerdist_block |
A PeerDist block download. More... | |
struct | peerdist_block_queue |
PeerDist block download queue. More... | |
Macros | |
#define | peerblk_msg_blk_t(digestsize, len, vrf_len, blksize) |
Retrieval protocol block fetch response (including transport header) More... | |
Enumerations | |
enum | peerdist_block_decrypt_index { PEERBLK_BEFORE = 0, PEERBLK_DURING, PEERBLK_AFTER, PEERBLK_NUM_BUFFERS } |
PeerDist retrieval protocol decryption data transfer buffer indices. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
int | peerblk_open (struct interface *xfer, struct uri *uri, struct peerdist_info_block *block) |
Open PeerDist block download. More... | |
Peer Content Caching and Retrieval (PeerDist) protocol block downloads.
Definition in file peerblk.h.
#define peerblk_msg_blk_t | ( | digestsize, | |
len, | |||
vrf_len, | |||
blksize | |||
) |
Retrieval protocol block fetch response (including transport header)
digestsize | Digest size |
len | Data block length |
vrf_len | Length of uselessness |
blksize | Cipher block size |
PeerDist retrieval protocol decryption data transfer buffer indices.
Definition at line 34 of file peerblk.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
int peerblk_open | ( | struct interface * | xfer, |
struct uri * | uri, | ||
struct peerdist_info_block * | block | ||
) |
Open PeerDist block download.
xfer | Data transfer interface |
uri | Original URI |
info | Content information block |
rc | Return status code |
Definition at line 1432 of file peerblk.c.
References block, peerdist_block::block, peerdist_block::buffer, digest_algorithm::ctxsize, DBGC2, peerdist_block::digest, peerdist_block::digestctx, digestsize, peerdist_block::digestsize, peerdist_block::discovery, peerdist_range::end, ENOMEM, peerdist_block::hash, peerdist_block::id, info, INIT_LIST_HEAD, intf_init(), intf_plug_plug(), list_empty, memcpy(), peerdist_block::offset, peerblk_close(), peerblk_discovery_operations, peerblk_expired(), peerblk_free(), peerblk_process_desc, peerblk_raw_desc, peerblk_retrieval_desc, peerblk_timestamp(), peerblk_xfer_desc, peerdisc_init(), peerdisc_open(), peerdisc_timeout_secs, peerdisc_segment::peers, peerdist_block::process, process_init_stopped(), peerdist_block::queued, peerdist_block::range, peerdist_block::raw, rc, ref_init, ref_put, peerdist_block::refcnt, peerdist_block::retrieval, peerdist_block::secret, peerdisc_client::segment, peerdist_block::segment, segment, peerdist_range::start, start_timer_fixed(), peerdist_block::started, TICKS_PER_SEC, timeout(), peerdist_block::timer, peerdist_block::trim, peerdist_block::uri, uri_get(), peerdist_block::xfer, xferbuf_malloc_init(), and zalloc().
Referenced by peermux_step().