From 297bf959e98b99846fbb85e47baaeeb4ed0b7070 Mon Sep 17 00:00:00 2001 From: bold Date: Tue, 14 Jan 2020 15:49:07 +0100 Subject: make set_blocking and is_blocking available for inner session --- src/session.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/session.rs b/src/session.rs index 664b78b..efb4b25 100644 --- a/src/session.rs +++ b/src/session.rs @@ -197,12 +197,12 @@ impl Session { /// a blocking session will wait for room. A non-blocking session will /// return immediately without writing anything. pub fn set_blocking(&self, blocking: bool) { - unsafe { raw::libssh2_session_set_blocking(self.inner.raw, blocking as c_int) } + self.inner.set_blocking(blocking); } /// Returns whether the session was previously set to nonblocking. pub fn is_blocking(&self) -> bool { - unsafe { raw::libssh2_session_get_blocking(self.inner.raw) != 0 } + self.inner.is_blocking() } /// Set timeout for blocking functions. @@ -955,6 +955,16 @@ impl SessionInner { Err(Error::from_session_error_raw(self.raw, rc)) } } + + /// Set or clear blocking mode on session + pub fn set_blocking(&self, blocking: bool) { + unsafe { raw::libssh2_session_set_blocking(self.raw, blocking as c_int) } + } + + /// Returns whether the session was previously set to nonblocking. + pub fn is_blocking(&self) -> bool { + unsafe { raw::libssh2_session_get_blocking(self.raw) != 0 } + } } impl Drop for SessionInner { -- cgit v1.2.3