Struct Client

Source
pub struct Client<T> { /* private fields */ }
Expand description

A client for serializing KMIP and deserializing KMIP responses to/from an established read/write stream.

Use the ClientBuilder to build a Client instance to work with.

Implementations§

Source§

impl<T: ReadWrite> Client<T>

Source

pub fn inner(&self) -> Arc<Mutex<T>>

Source

pub fn do_request(&self, payload: RequestPayload) -> Result<ResponsePayload>

Serialize the given request to the stream and deserialize the response.

Automatically constructs the request message wrapper around the payload including the RequestHeader and BatchItem.

Only supports a single batch item.

Sets the request operation to RequestPayload::operation().

§Errors

Will fail if there is a problem serializing the request, writing to or reading from the stream, deserializing the response or if the response does not indicate operation success or contains more than one batch item.

Currently always returns Error::Unknown even though richer cause information is available.

Source

pub fn query(&self) -> Result<QueryResponsePayload>

Serialize a KMIP 1.0 Query request.

See also: do_request()

Source

pub fn create_rsa_key_pair( &self, key_length: i32, private_key_name: String, public_key_name: String, ) -> Result<(String, String)>

Serialize a KMIP 1.0 Create Key Pair request to create an RSA key pair.

See also: do_request()

Creates an RSA key pair.

To create keys of other types or with other parameters you must compose the Create Key Pair request manually and pass it to do_request() directly.

Source

pub fn rng_retrieve(&self, num_bytes: i32) -> Result<RNGRetrieveResponsePayload>

Serialize a KMIP 1.2 Rng Retrieve operation to retrieve a number of random bytes.

See also: do_request()

Source

pub fn sign( &self, private_key_id: &str, in_bytes: &[u8], ) -> Result<SignResponsePayload>

Serialize a KMIP 1.2 Sign operation to sign the given bytes with the given private key ID.

See also: do_request()

Source

pub fn activate_key(&self, private_key_id: &str) -> Result<()>

Serialize a KMIP 1.0 Activate operation to activate a given private key ID.

See also: do_request()

To activate other kinds of managed object you must compose the Activate request manually and pass it to do_request() directly.

Source

pub fn revoke_key(&self, private_key_id: &str) -> Result<()>

Serialize a KMIP 1.0 Revoke operation to deactivate a given private key ID.

See also: do_request()

To deactivate other kinds of managed object you must compose the Revoke request manually and pass it to do_request() directly.

Source

pub fn destroy_key(&self, key_id: &str) -> Result<()>

Serialize a KMIP 1.0 Destroy operation to destroy a given private key ID.

See also: do_request()

To destroy other kinds of managed object you must compose the Destroy request manually and pass it to do_request() directly.

Source

pub fn rename_key( &self, key_id: &str, new_name: String, ) -> Result<ModifyAttributeResponsePayload>

Serialize a KMIP 1.0 ModifyAttribute operation to rename a given key ID.

See also: do_request()

To modify other attributes of managed objects you must compose the Modify Attribute request manually and pass it to do_request() directly.

Source

pub fn get_key(&self, key_id: &str) -> Result<GetResponsePayload>

Serialize a KMIP 1.0 Get operation to get the details of a given key ID.

See also: do_request()

Source§

impl<T> Client<T>

Source

pub fn last_req_diag_str(&self) -> Option<String>

Get a clone of the client’s last req diag str.

Source

pub fn last_res_diag_str(&self) -> Option<String>

Get a clone of the client’s last res diag str.

Source

pub fn connection_error_count(&self) -> u8

Get the count of connection errors experienced by this Client.

Trait Implementations§

Source§

impl<T> Clone for Client<T>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for Client<T>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for Client<T>

§

impl<T> !RefUnwindSafe for Client<T>

§

impl<T> Send for Client<T>
where T: Send,

§

impl<T> !Sync for Client<T>

§

impl<T> Unpin for Client<T>

§

impl<T> UnwindSafe for Client<T>

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<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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.