This commit will introduce some new behavior: reading a stream (Spear.stream!/3 or Spear.subscribe/4) will emit
a new ReadResp content-type when finished reading the chunk (in a normal read) and when at the end of the stream
While the change to the protobuf definition is not itself a breaking change because of the way protobuf encoding works, clients using that new EventStoreDB version will be unable to use any existing release of spear as that message will fail to decode with a FunctionClauseError.
This commit will introduce some new behavior: reading a stream (
Spear.stream!/3
orSpear.subscribe/4
) will emit a new ReadResp content-type when finished reading the chunk (in a normal read) and when at the end of the streamWhile the change to the protobuf definition is not itself a breaking change because of the way protobuf encoding works, clients using that new EventStoreDB version will be unable to use any existing release of spear as that message will fail to decode with a FunctionClauseError.
NFIBrokerage/event_store_db_gpb_protobufs will need an update as usual and the next release of spear will need to require the new version.
The following will need to be refactored:
Spear.Event.destructure_read_response/2
Spear.Reading
to accept these stream position messages as input for building a ReadReqSpear.Reading.Stream
to filter stream position ReadResps from chunksSpear.stream!/3
andSpear.subscribe/4
should add options to ignore these messages (default to true so spear doesn't need a major version bump)As well as the creation of at least one new data structure for these stream position packets.