Proto Schema
PSLX uses protobuf to store data. All the schemas are in the folder of schema. In the enums.proto, the following enum types are defined:
ModeType: whether it is in test mode or production mode.SortOrder: the order of the children nodes and parent nodes in a node.DataModelType: the data model type for the containers.InstantMessagingType: the type of instant messaging app.StorageType: the type of the storage.ReadRuleType: the read rule forDefaultStorage.WriteRuleType: the write rule forDefaultStorageandFixedSizeStorage.PartitionerStorageType: the type of the partitioner.Status: status of the operator, container, and RPC response.Signal: signal for internal usage only.
In rpc.proto, RPC-related message types are defined:
GenericRPCService: the generic rpc service supported in PSLX.HealthCheckerRequest: the health checker request.HealthCheckerResponse: the health checker response.GenericRPCRequest: generic request that encapsulates the request message in itsAnyfield.GenericRPCResponse: generic response that encapsulates the response message in itsAnyfield.GenericRPCRequestResponsePair: pair of generic request and response.InstantMessagingRPCRequest: instant messaging rpc request.EmailPRCRequest: email rpc request.ProtoViewerRPCRequest: request for proto viewer service.ProtoViewerRPCResponse: response from proto viewer service.
In snapshots.proto, the snapshots for node, operator and container are defined:
NodeSnapshot: snapshot for node.OperatorSnapshot: snapshot for operator.ContainerSnapshot: snapshot for container.OperatorContentPlain: a plain text representation for content in operator.OperatorContentList: a list representation for content in operator. 6:OperatorContentDict: a dictionary representation for content in operator
In storage.proto, the proto table storage type and the value for the container backend storage are defined:
ProtoTable: generic storage schema forProtoTableStorage.ProtoTableIndexMap: generic format for storing index forShardedProtoTableStorage.ContainerBackendValue: the value type for container backend service.
In common.proto, various credential formats are defined:
Credentials: a specifically designed message to storage credentials.FileInfo: information about a file.FrontendConfig: the config for frontend.