[][src]Struct tectonic::driver::ProcessingSession

pub struct ProcessingSession {
    pub io: IoSetup,
    pub events: IoEvents,
    // some fields omitted
}

The ProcessingSession struct runs the whole show when we're actually processing a file. It understands, for example, the need to re-run the TeX engine if the .aux file changed.

Fields

io: IoSetup

This contains the full I/O setup of the processing session. After running the session, you can inspect this to see what I/O was produced. (For example, the memory layer might contain some files that were produced by the TeX engine but not actually written to disk.)

events: IoEvents

This contains all the I/O events that occurred while processing.

Implementations

impl ProcessingSession[src]

pub fn run(&mut self, status: &mut dyn StatusBackend) -> Result<()>[src]

Runs the session, generating the desired outputs.

What this does depends on which PassSetting you asked for. The most common choice is PassSetting::Default, in which case this method does the following:

  • if a .fmt file does not yet exist, generate one and cache it
  • run the TeX engine once
  • run BibTeX, if it seems to be required
  • repeat the last two steps as often as needed
  • write the output files to disk, including a Makefile if it was requested.

pub fn into_file_data(self) -> HashMap<OsString, Vec<u8>>[src]

Consume this session and return the current set of files in memory.

This convenience function tries to help with the annoyances of getting access to the in-memory file data after the engine has been run.

Panics

This will panic if you there are multiple strong references to the files map. This should only happen if you create and keep a clone of the Rc<> wrapping it before calling this function.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

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

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