pub struct PackObjectSelection {
pub send: Vec<ObjectId>,
pub have_closure: HashSet<ObjectId>,
pub peer_held: Option<Arc<ReachableSet>>,
pub name_hashes: HashMap<ObjectId, u32>,
}Expand description
Objects to emit in a negotiated pack plus peer-held closure for thin deltas.
Fields§
§send: Vec<ObjectId>Objects reachable from wants but not from haves, in valid pack order.
have_closure: HashSet<ObjectId>Peer-held commits whose trees seed thin-pack delta bases, not the full peer
object closure: the edge commits where the object walk reached the peer’s
history, or the negotiation haves when bitmaps (or a path filter) selected
the objects instead.
peer_held: Option<Arc<ReachableSet>>Peer-held objects when pack reachability bitmaps are available (thin-pack bases).
name_hashes: HashMap<ObjectId, u32>Pack name hash of the path each object was found at, used to pair delta candidates: blobs from the tree walk, every object the bitmap name-hash cache covers when bitmaps are used.
Trait Implementations§
Source§impl Clone for PackObjectSelection
impl Clone for PackObjectSelection
Auto Trait Implementations§
impl Freeze for PackObjectSelection
impl RefUnwindSafe for PackObjectSelection
impl Send for PackObjectSelection
impl Sync for PackObjectSelection
impl Unpin for PackObjectSelection
impl UnsafeUnpin for PackObjectSelection
impl UnwindSafe for PackObjectSelection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more