api

package
v0.0.0-...-5ae0b98 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ANNQueryArgs

type ANNQueryArgs struct {
	SessionID    int64
	MultiProbes  int
	SecretShared []*pir.BatchQueryShare // MultiProbes queries for each hash table
}

ANNQueryArgs arguments for querying a collection of hash tables

type ANNQueryResponse

type ANNQueryResponse struct {
	Error                Error
	SessionID            int64
	ResSecretShared      []*pir.SecretSharedQueryResult
	StatsQueryTimeInMS   int64
	StatsMaskingTimeInUS int64
}

ANNQueryResponse responds with a set of (masked) PIR query results

type Error

type Error struct {
	Msg string
}

Error is provided as a response to API queries

type InitSessionArgs

type InitSessionArgs struct {
}

InitSessionArgs arguments provided by client to initialize a new a PIR session

type InitSessionResponse

type InitSessionResponse struct {
	SessionParameters
	Error                      Error
	StatsPreprocessingTimeInMS int64
	StatsDatasetSize           int
	StatsNumFeatures           int
	StatsDatasetName           string
	StatsNumServerProcs        int
}

InitSessionResponse response to a client following session creation

type SessionParameters

type SessionParameters struct {
	SessionID           int64
	NumTables           int               // number of hash tables
	NumProbes           int               // number of bucket probes per table
	TestQuery           *vec.Vec          // a test query to use in the evaluation
	HashFunctions       []hash.Hash       // hash functions the client uses to compute keys
	HashFunctionRange   int               // range (in bits) of the hash function output
	TableBucketMetadata []*pir.DBMetadata // PIR db metadata for table buckets
}

SessionParameters contains all the metadata information needed for a client to issue PIR queries

type TerminateSessionArgs

type TerminateSessionArgs struct{}

TerminateSessionArgs used by client to kill the server (useful for experiments)

type TerminateSessionResponse

type TerminateSessionResponse struct{}

TerminateSessionResponse response to clients terminate session call

type WaitForExperimentArgs

type WaitForExperimentArgs struct{}

WaitForExperimentArgs is used by the client to wait until the experiment starts before making API calls

type WaitForExperimentResponse

type WaitForExperimentResponse struct{}

WaitForExperimentResponse is used to signal to the client that server is ready

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL