#[non_exhaustive]pub enum Procedure {
Show 16 variants
ListRepos,
ListRefs,
ReadRef,
UpdateRef,
AdvanceRefs,
BeginUpload,
UploadPart,
CompleteUpload,
PackExists,
UploadPack,
DownloadPack,
GetReceipt,
SetRepoVisibility,
IssueObjectUrl,
HttpGetObject,
HttpGetRefPath,
}Expand description
A mkit.transport.v1.TransportService procedure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ListRepos
Namespace repository listing.
ListRefs
ListRefs.
ReadRef
ReadRef.
UpdateRef
UpdateRef.
AdvanceRefs
AdvanceRefs.
BeginUpload
BeginUpload (unary ticket opening).
UploadPart
UploadPart (client streaming).
CompleteUpload
CompleteUpload (unary multipart completion).
PackExists
PackExists.
UploadPack
UploadPack (client streaming).
DownloadPack
DownloadPack (server streaming).
GetReceipt
GetReceipt.
SetRepoVisibility
SetRepoVisibility (envelope mode is replay-protected like a write).
IssueObjectUrl
IssueObjectUrl.
HttpGetObject
An HTTP object read by id (/mkit.http.v1/GetObject, SPEC-HTTP-OBJECTS
§7). Never a TransportService method: only the hook procedure name.
HttpGetRefPath
An HTTP object read by ref path (/mkit.http.v1/GetRefPath).
Implementations§
Source§impl Procedure
impl Procedure
Sourcepub const fn connect_path(self) -> &'static str
pub const fn connect_path(self) -> &'static str
The full Connect path, e.g. /mkit.transport.v1.TransportService/UpdateRef.
This is also the procedure field auth v2 signs.
Sourcepub fn from_connect_path(path: &str) -> Option<Self>
pub fn from_connect_path(path: &str) -> Option<Self>
The TransportService procedure a full Connect path names, if any.
The HTTP procedures are not TransportService methods and are never
returned.
Sourcepub const fn is_write(self) -> bool
pub const fn is_write(self) -> bool
Whether the procedure mutates state. Every variant is classified:
GetServerInfo, GetGrantEpoch and SetGrantEpoch stay outside
Procedure by design (SPEC-WRITE-GRANTS §5.3, §9.2).
Sourcepub const fn is_streaming(self) -> bool
pub const fn is_streaming(self) -> bool
Whether the procedure streams: UploadPack, UploadPart and DownloadPack.