You can clone with
protocol: use mongo_protocol_next_request_id() in getlasterror command.
output-stream: fix build for glib-2.32.
protocol: use MongoInputStream for reading messages in protocol.
input-stream: use shutdown cancellable on dispose.
protocol: add tests to ensure that reference counts drop to zero.
protocol: cancel in flight operations from dispose using GCancellable.
mongo-message: inherit from GObject instead of GInitiallyUnowned.
TODO: add some MongoClient TODOs.
client: make sure input and output streams are released on finalize.
client: flush the loop to try to catch extra errors.
client: dont hold reference to client in input stream read loop.
The command will be cancelled upon dispose of the client.
client: implement mongo_client_new_from_stream().
output-stream: cancel queued and inflight requests during dispose.
output-stream: cancel pending operations during dispose.
output-stream: add test for cancellable.
output-stream: just use propagate_error to check result.
client: make sure reply is provided with async result.
client: use MongoInputStream and asynchronous read loop.
input-stream: do asynchronous reads.
output-stream: pull main_context assignment out of loop.
input-stream: add async-context, remove GDataInputStream, start on as…
output-stream: name the GSource.
output-stream: remove GDataInputStream from hierarchy.
client: add some gtk-doc.
client: use MongoInputStream and MongoOutputStream.
output-stream: unset request-id for incoming response to.
client: build fixes.
output-stream: mark todo on concurrent operations.
input-stream: add async method prototypes.
client: implement asynchronous write and sync on top of that.
output-stream: add public prototypes.
client: add write-concern for client and use on message writing.
write-concern: initialize to zero.
output-stream: implement MongoOutputStream async commands with write …
write-concern: allow fetching ->w to know if we need to ignore socket…