Qri
Runtime
Description of a running qri process
Instance
The core of a runnign qri program is an instance. A an instance is a composition of subsystems that make up core business logic of Qri in a running program. Instances are singletons, with only one running at a time in a given process, making them the ultimate lock on contested resources.
Instances manage configuration
Creating an instance requires a valid qri configuration, which includes
Instance Methods
An instance method (or just "method" for short) is a function defined on an instance. Methods are user-facing abstractions of business logic like Save
or Remove
.
Methods
Qri methods are a logical grouping of functions that relate to one another. Long-running qri processes can make methods available as Remote Procedure Calls (RPC) over a network socket. In this document we define methods as a gRPC service. For example:
service DatasetWrite {
rpc Save (SaveRequest) returns (SaveResponse) {}
rpc Remove (RemoveRequest) returns (RemoveResponse) {}
rpc Rename (RenameRequest) returns (RenameResponse) {}
}
Protcol Buffers
This document expresses services & data structures as protocol buffers to keep definitions language agnostic, but these are currently for presentational purposes only. The qri spec doesn't state that implementations use protocol buffers.