NFIBrokerage/spear

changes for the v21.10.0 server release

Closed this issue · 1 comments

release notes: https://www.eventstore.com/blog/21.10.0-release-notes

  • update the event_store_db_gpb_protobufs package
  • use v21.10.0 in CI
    • update test tags, all :nightly features become >= 21.10
  • implement new client capabilities api
  • touch up on stream-position-following-last-event feature (seems to have changed since I was last looking at it)
diff --git a/src/Protos/Grpc/serverfeatures.proto b/src/Protos/Grpc/serverfeatures.proto
new file mode 100644
index 000000000..3563084ae
--- /dev/null
+++ b/src/Protos/Grpc/serverfeatures.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+package event_store.client.server_features;
+option java_package = "com.eventstore.dbclient.proto.serverfeatures";
+import "shared.proto";
+
+service ServerFeatures {
+       rpc GetSupportedMethods (event_store.client.Empty) returns (SupportedMethods);
+}
+
+message SupportedMethods {
+       repeated SupportedMethod methods = 1;
+       string event_store_server_version = 2;
+}
+
+message SupportedMethod {
+       string method_name = 1;
+       string service_name = 2;
+       repeated string features = 3;
+}
+
diff --git a/src/Protos/Grpc/streams.proto b/src/Protos/Grpc/streams.proto
index dd71e65f5..2037038e5 100644
--- a/src/Protos/Grpc/streams.proto
+++ b/src/Protos/Grpc/streams.proto
@@ -34,6 +34,7 @@ message ReadReq {
                        event_store.client.Empty no_filter = 8;
                }
                UUIDOption uuid_option = 9;
+               ControlOption control_option = 10;
 
                enum ReadDirection {
                        Forwards = 0;
@@ -82,6 +83,9 @@ message ReadReq {
                                event_store.client.Empty string = 2;
                        }
                }
+               message ControlOption {
+                       uint32 compatibility = 1;
+               }
        }
 }
 
@@ -91,6 +95,9 @@ message ReadResp {
                SubscriptionConfirmation confirmation = 2;
                Checkpoint checkpoint = 3;
                StreamNotFound stream_not_found = 4;
+               uint64 first_stream_position = 5;
+               uint64 last_stream_position = 6;
+               AllStreamPosition last_all_stream_position = 7;
        }
 
        message ReadEvent {