diff --git a/BobClient/Qoollo.BobClient/BobClusterClient.cs b/BobClient/Qoollo.BobClient/BobClusterClient.cs
index c79abd1..87f8a94 100644
--- a/BobClient/Qoollo.BobClient/BobClusterClient.cs
+++ b/BobClient/Qoollo.BobClient/BobClusterClient.cs
@@ -507,7 +507,7 @@ protected virtual void Dispose(bool isUserCall)
///
/// Cleans-up all resources
///
- void IDisposable.Dispose()
+ public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
diff --git a/BobClient/Qoollo.BobClient/BobNodeClient.cs b/BobClient/Qoollo.BobClient/BobNodeClient.cs
index a4bb835..d1defd1 100644
--- a/BobClient/Qoollo.BobClient/BobNodeClient.cs
+++ b/BobClient/Qoollo.BobClient/BobNodeClient.cs
@@ -706,7 +706,7 @@ protected virtual void Dispose(bool isUserCall)
///
/// Cleans-up all resources
///
- void IDisposable.Dispose()
+ public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
diff --git a/BobClient/Qoollo.BobClient/Qoollo.BobClient.csproj b/BobClient/Qoollo.BobClient/Qoollo.BobClient.csproj
index 4d2dcb1..0d2b681 100644
--- a/BobClient/Qoollo.BobClient/Qoollo.BobClient.csproj
+++ b/BobClient/Qoollo.BobClient/Qoollo.BobClient.csproj
@@ -1,22 +1,34 @@
- netstandard2.0
- Qoollo
- Nikita Menshov
- .NET client library for Bob
- Bob, storage
-
- false
- 2.1.2.0
- 2.1.2
- 2.1.2.0
+ Qoollo.BobClient
Qoollo.BobClient
Qoollo.BobClient
+ 2.1.3
+ 2.1.3
+ 2.1.3
+
+ netstandard2.0
+
+ true
- Qoollo.BobClient.xml
+ Qoollo.BobClient
+ 2.1.3
+ Qoollo
+ Qoollo
+ MIT
+ https://github.com/qoollo/bob-client-net
+ https://github.com/qoollo/bob-client-net
+ false
+ .NET client library for Bob (distributed key-value stroage)
+ Bob, Distributed, KeyValue, Storage
+ v2.1.3 (05.10.2020)
+ - Put, Get, Exists operations supported
+ - Single node and cluster clients implemented
+
+ Qoollo 2020
diff --git a/BobClient/Qoollo.BobClient/Qoollo.BobClient.xml b/BobClient/Qoollo.BobClient/Qoollo.BobClient.xml
deleted file mode 100644
index f2be3b3..0000000
--- a/BobClient/Qoollo.BobClient/Qoollo.BobClient.xml
+++ /dev/null
@@ -1,1220 +0,0 @@
-
-
-
- Qoollo.BobClient
-
-
-
-
- Bob cluster builder
-
-
-
-
- Builder constructor
-
-
-
-
- Adds a node to the cluster
-
- Address of a node
- The reference to the current builder instatnce
-
-
-
- Adds a node to the cluster
-
- Address of a node
- The reference to the current builder instatnce
-
-
-
- Adds timeout for api calls
-
- Timeout value (can be )
- The reference to the current builder instatnce
-
-
-
- Adds timeout for api calls
-
- Timeout value in milliseconds (can be )
- The reference to the current builder instatnce
-
-
-
- Specifies a node selection policy for opertions on cluster
-
- Policy instatnce
- The reference to the current builder instatnce
-
-
-
- Builds
-
- Created cluster
-
-
-
- Bob client for whole cluster (switch nodes according to the policy)
-
-
-
-
- constructor
-
- List of clients for every bob node
- Node selection policy (null for )
-
-
-
- constructor
-
- List of clients for every bob node
-
-
-
- constructor
-
- List of nodes addresses
- Operation timeout for every created node client
- Node selection policy (null for )
-
-
-
- constructor
-
- List of nodes addresses
-
-
-
- Explicitly opens connection to every Bob node in cluster
-
- Timeout
- Task to await
- Connection was not opened
- Specified timeout reached
- Client was disposed
- Incorrect timeout value
-
-
-
- Explicitly opens connection to every Bob node in cluster
-
- Task to await
- Connection was not opened
- Specified timeout reached
- Client was disposed
-
-
-
- Explicitly opens connection to every Bob node in cluster
-
- Timeout
- Connection was not opened
- Specified timeout reached
- Client was disposed
- Incorrect timeout value
-
-
-
- Explicitly opens connection to every Bob node in cluster
-
- Connection was not opened
- Specified timeout reached
- Client was disposed
-
-
-
- Closes connections to every Bob node in cluster
-
- Task to await
- Error during connection shutdown
-
-
-
- Closes connections to every Bob node in cluster
-
- Error during connection shutdown
-
-
-
- Closes connections to every Bob node in cluster. Ignores exceptions
-
-
-
-
- Writes data to Bob
-
- Key
- Binary data
- Cancellation token
- Data is null
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
-
-
-
- Writes data to Bob
-
- Key
- Binary data
- Data is null
- Client was closed
- Timeout reached
- Other operation errors
-
-
-
- Writes data to Bob asynchronously
-
- Key
- Binary data
- Cancellation token
- Operation result
- Data is null
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
-
-
-
- Writes data to Bob asynchronously
-
- Key
- Binary data
- Operation result
- Data is null
- Client was closed
- Timeout reached
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- Cancellation token
- /// Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- /// Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- Operation result
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Cancellation token
- Try read data from sup nodes
- Operation result with data
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Cancellation token
- Operation result with data
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Try read data from sup nodes
- Operation result with data
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Operation result with data
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Checks data presented in Bob
-
- Keys array
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- Operation was cancelled
- keys is null
-
-
-
- Checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- keys is null
-
-
-
- Checks data presented in Bob
-
- Keys array
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Cleans-up all resources
-
- Was called by user
-
-
-
- Cleans-up all resources
-
-
-
-
- State of the
-
-
-
-
- Client is idle
-
-
-
-
- Client is connecting
-
-
-
-
- Client is ready for work
-
-
-
-
- Client has seen a failure but expects to recover
-
-
-
-
- Client closed or has seen a failure that it cannot recover from
-
-
-
-
- Client for a single Bob node
-
-
-
-
- Default operation timeout
-
-
-
-
- Calculates deadline value for GRPC
-
-
-
-
- Converts GRPC ChannelState into BobNodeClientState
-
-
-
-
- Checks whether the exception is a KeyNotFound exception
-
-
-
-
- Checks whether the exception is a timeout
-
-
-
-
- Checks whether the exception is an operation cancelled exception
-
-
-
-
- constructor
-
- Address of a Bob node
- Timeout for every operation
-
-
-
- constructor
-
- Address of a Bob node
- Timeout for every operation
-
-
-
- constructor
-
- Address of a Bob node
-
-
-
- State of the client
-
-
-
-
- Explicitly opens connection to the Bob node
-
- Timeout
- Task to await
- Connection was not opened
- Specified timeout reached
- Client was disposed
- Incorrect timeout value
-
-
-
- Explicitly opens connection to the Bob node
-
- Task to await
- Connection was not opened
- Client was disposed
-
-
-
- Explicitly opens connection to the Bob node
-
- Timeout
- Connection was not opened
- Specified timeout reached
- Client was disposed
- Incorrect timeout value
-
-
-
- Explicitly opens connection to the Bob node
-
- Connection was not opened
- Client was disposed
-
-
-
- Closes connection to the Bob node
-
- Task to await
- Error during connection shutdown
-
-
-
- Closes connection to the Bob node
-
- Error during connection shutdown
-
-
-
- Writes data to Bob
-
- Key
- Binary data
- Cancellation token
- Data is null
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
-
-
-
- Writes data to Bob
-
- Key
- Binary data
- Data is null
- Client was closed
- Timeout reached
- Other operation errors
-
-
-
- Writes data to Bob asynchronously
-
- Key
- Binary data
- Cancellation token
- Operation result
- Data is null
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
-
-
-
- Writes data to Bob asynchronously
-
- Key
- Binary data
- Operation result
- Data is null
- Client was closed
- Timeout reached
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- Cancellation token
- /// Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- /// Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob
-
- Key
- Operation result
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Cancellation token
- Try read data from sup nodes
- Operation result with data
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Cancellation token
- Operation result with data
- Client was closed
- Timeout reached
- Operation was cancelled
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Try read data from sup nodes
- Operation result with data
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Operation result with data
- Client was closed
- Timeout reached
- Specified key was not found
- Other operation errors
-
-
-
- Checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Cancellation token
- /// Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Checks data presented in Bob
-
- Keys array
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- Operation was cancelled
- keys is null
-
-
-
- Checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- keys is null
-
-
-
- Checks data presented in Bob
-
- Keys array
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Cancellation token
- Operation result
- Client was closed
- Timeout reached
- Operation was cancelled
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Try read data from sup nodes
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- keys is null
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Operation result
- Client was closed
- Timeout reached
- Other operation errors
- keys is null
-
-
-
- Cleans-up all resources
-
- Was called by user
-
-
-
- Cleans-up all resources
-
-
-
-
- Base class for node selection policy in cluster
-
-
-
-
- Selects one of the node from cluster to perform operation
-
- List of clients (will be the same for every operation on single cluster)
- Selected node (cannot be null)
-
-
-
- Selection policy that always use first node to perform operations
-
-
-
-
- Singleton instance
-
-
-
-
- Selects one of the node from cluster to perform operation
-
- List of clients (will be the same for every operation on single cluster)
- Selected node (cannot be null)
-
-
-
- Selection policy that returns nodes one-by-one in round
-
-
-
-
- Selects one of the node from cluster to perform operation
-
- List of clients (will be the same for every operation on single cluster)
- Selected node (cannot be null)
-
-
-
- Selection policy that selects first working node cluster
-
-
-
-
- Selects one of the node from cluster to perform operation
-
- List of clients (will be the same for every operation on single cluster)
- Selected node (cannot be null)
-
-
-
- Common exception for operations in Bob
-
-
-
-
- constructor
-
-
-
-
- constructor
-
- Message
-
-
-
- constructor
-
- Message
- Inner exception
-
-
-
- Exception for the case when specified key was not found in Bob cluster
-
-
-
-
- constructor
-
-
-
-
- constructor
-
- Message
-
-
-
- constructor
-
- Message
- Inner exception
-
-
-
- Bob api
-
-
-
-
- Writes data to Bob
-
- Key
- Binary data
- Cancellation token
- Operation result
-
-
-
- Writes data to Bob asynchronously
-
- Key
- binary data
- Cancellation token
- Operation result
-
-
-
- Reads data from Bob
-
- Key
- Cancellation token
- /// Try read data from sup nodes
- Operation result
-
-
-
- Reads data from Bob asynchronously
-
- Key
- Cancellation token
- Try read data from sup nodes
- Operation result with data
-
-
-
- Checks data presented in Bob
-
- Keys array
- Cancellation token
- Try read data from sup nodes
- Operation result
-
-
-
- Asynchronously checks data presented in Bob
-
- Keys array
- Cancellation token
- Try read data from sup nodes
- Operation result
-
-
-
- Single node describtion
-
-
-
-
- Node constructor
-
- Node address. Format like host:port
-
-
-
- Address of node in format 'host:port'
-
-
-
-
- Returns string representation of NodeAddress
-
- String representation of NodeAddress
-
-
- Holder for reflection information generated from proto/bob.proto
-
-
- File descriptor for proto/bob.proto
-
-
-
- Put operation parameters
-
-
-
- Field number for the "key" field.
-
-
-
- Blob's key
-
-
-
- Field number for the "data" field.
-
-
-
- Data
-
-
-
- Field number for the "options" field.
-
-
-
- options
-
-
-
-
- Get operation parameters
-
-
-
- Field number for the "key" field.
-
-
-
- Blob's key
-
-
-
- Field number for the "options" field.
-
-
-
- options
-
-
-
-
- Exist operation parameters
-
-
-
- Field number for the "keys" field.
-
-
-
- Keys to check
-
-
-
- Field number for the "options" field.
-
-
-
- Options, same as in get request
-
-
-
-
- Blob id
-
-
-
- Field number for the "key" field.
-
-
-
- Inner id representation
-
-
-
-
- Data blob
-
-
-
- Field number for the "data" field.
-
-
-
- Data
-
-
-
- Field number for the "meta" field.
-
-
-
- Metadata
-
-
-
-
- Blob metadata
-
-
-
- Field number for the "timestamp" field.
-
-
-
- timestamp for data version
-
-
-
-
- Operation status
-
-
-
- Field number for the "error" field.
-
-
-
- If all good - null
-
-
-
- Field number for the "exist" field.
-
-
-
- Put operation options
-
-
-
- Field number for the "remote_nodes" field.
-
-
- Field number for the "force_node" field.
-
-
-
- Force operation to be served by node to which it comes
-
-
-
- Field number for the "overwrite" field.
-
-
-
- Overwrite data in case of id existens
-
-
-
-
- Get operation options
-
-
-
- Field number for the "force_node" field.
-
-
-
- Force operation to be served by node to which it comes
-
-
-
- Field number for the "source" field.
-
-
-
- Set source for data reading
-
-
-
- Field number for the "code" field.
-
-
-
- Error code in case of error
-
-
-
- Field number for the "desc" field.
-
-
-
- Error desription
-
-
-
-
- API
-
-
-
- Service descriptor
-
-
- Client for BobApi
-
-
- Creates a new client for BobApi
- The channel to use to make remote calls.
-
-
- Creates a new client for BobApi that uses a custom CallInvoker.
- The callInvoker to use to make remote calls.
-
-
- Protected parameterless constructor to allow creation of test doubles.
-
-
- Protected constructor to allow creation of configured clients.
- The client configuration.
-
-
- Creates a new instance of client from given ClientBaseConfiguration.
-
-
-
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt
new file mode 100644
index 0000000..6a80197
--- /dev/null
+++ b/ReleaseNotes.txt
@@ -0,0 +1,3 @@
+v2.1.3 (05.10.2020)
+- Put, Get, Exists operations supported
+- Single node and cluster clients implemented
\ No newline at end of file