summaryrefslogtreecommitdiffstats
path: root/vendor/gix-protocol/src/util.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:41 +0000
commit10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87 (patch)
treebdffd5d80c26cf4a7a518281a204be1ace85b4c1 /vendor/gix-protocol/src/util.rs
parentReleasing progress-linux version 1.70.0+dfsg1-9~progress7.99u1. (diff)
downloadrustc-10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87.tar.xz
rustc-10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87.zip
Merging upstream version 1.70.0+dfsg2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/gix-protocol/src/util.rs')
-rw-r--r--vendor/gix-protocol/src/util.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/gix-protocol/src/util.rs b/vendor/gix-protocol/src/util.rs
new file mode 100644
index 000000000..a790aebd5
--- /dev/null
+++ b/vendor/gix-protocol/src/util.rs
@@ -0,0 +1,27 @@
+/// The name of the `git` client in a format suitable for presentation to a `git` server, using `name` as user-defined portion of the value.
+pub fn agent(name: impl Into<String>) -> String {
+ let mut name = name.into();
+ if !name.starts_with("git/") {
+ name.insert_str(0, "git/");
+ }
+ name
+}
+
+/// Send a message to indicate the remote side that there is nothing more to expect from us, indicating a graceful shutdown.
+#[cfg(any(feature = "blocking-client", feature = "async-client"))]
+#[maybe_async::maybe_async]
+pub async fn indicate_end_of_interaction(
+ mut transport: impl gix_transport::client::Transport,
+) -> Result<(), gix_transport::client::Error> {
+ // An empty request marks the (early) end of the interaction. Only relevant in stateful transports though.
+ if transport.connection_persists_across_multiple_requests() {
+ transport
+ .request(
+ gix_transport::client::WriteMode::Binary,
+ gix_transport::client::MessageKind::Flush,
+ )?
+ .into_read()
+ .await?;
+ }
+ Ok(())
+}