Skip to main content

DataFileContent

Struct DataFileContent 

Source
pub struct DataFileContent {
    pub path: DataFilePath,
    pub commit: GitCommitId,
    pub bytes: u64,
    pub total_lines: u64,
    pub sha256: Sha256Hex,
    pub note: Option<String>,
    pub lines: Option<LineRange>,
    pub partial_line: Option<u64>,
    pub text: String,
    pub omitted_bytes: u64,
    pub cut: Option<String>,
    pub asked: Option<String>,
}
Expand description

One file of a data set (DATA-…), as get_content serves it: checked against its signed SHA-256, then cut to the byte budget if it is longer (0.91). With lines, only those lines (0.103)

Fields§

§path: DataFilePath§commit: GitCommitId

The commit it was read at, as the manifest pins it

§bytes: u64

The whole file’s size in bytes

§total_lines: u64

The whole file’s lines (0.103; 0 from an older server)

§sha256: Sha256Hex

The whole file’s SHA-256, as signed; the bytes read matched it

§note: Option<String>§lines: Option<LineRange>

The lines text holds, for a read of some lines (lines=): the range asked for, its end clamped to the file’s last line and cut back to the last whole line the budget holds (0.103). Absent when text is only the start of one line (partial_line), so that it never names a line not shown whole (0.105.0)

§partial_line: Option<u64>

For a read of some lines whose first line alone is over the budget: that line’s number. text is its start, cut inside it, and holds no whole line (0.105.0)

§text: String

The file’s text, or as much of it as the budget holds

§omitted_bytes: u64

Bytes of the file not in text: 0 when it is whole

§cut: Option<String>

When text is cut: where, and how much more there is

§asked: Option<String>

The attachment= asked for, when it is not path: a path relative to a directory at the repository root, resolved (0.91.4)

Implementations§

Source§

impl DataFileContent

Source

pub fn new( set: &GovernanceLogId, commit: GitCommitId, file: &DataFile, bytes: &[u8], budget: usize, lines: Option<LineRange>, ) -> Result<Self, DataFileReadError>

file’s bytes, already checked, as text of at most budget bytes: the whole file, or with lines those lines. A whole read cut by the budget falls at the end of a line when one ends in the budget’s second half, else at a character boundary; a range is cut back to its last whole line that fits (or, when its first line alone does not, at a character boundary). A whole read of a file over MAX_WHOLE_READ_BYTES is refused, saying which range fits (0.103). set is the data set the file is read from, for the citation form the refusal shows.

Source§

impl DataFileContent

Source

pub fn citation(&self, set: &GovernanceLogId) -> DataCitation

How to cite what this read served, in the canonical form: set, the commit read at (its first seven hex digits) and the path, with the lines served when it is a read of some lines (0.110.0)

Source§

impl DataFileContent

Source

pub fn refuse_whole( set: &GovernanceLogId, commit: GitCommitId, file: &DataFile, lines: Option<LineRange>, ) -> Option<DataFileReadError>

The refusal of a whole read (lines absent) of a file listed over MAX_WHOLE_READ_BYTES, from the listing alone: a server calls this before it reads the blob, so a refused read costs nothing (the review of 0.103)

Trait Implementations§

Source§

impl Clone for DataFileContent

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DataFileContent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DataFileContent

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for DataFileContent

Source§

impl PartialEq for DataFileContent

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for DataFileContent

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for DataFileContent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, O> Matches<O> for T
where T: PartialEq<O>,

Source§

fn validate_matches(&self, other: &O) -> bool

Source§

impl<T> PendingHandle for T
where T: Send + 'static,

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more