Concepts
Figure 1: High-level overview of how the ProxyStore components fit together.
ProxyStore is composed of three main components: the
Proxy,
Connector,
and Store.
The Proxy model provides pass-by-reference
semantics and just-in-time object resolution transparently to consumers.
The Connector is a
Protocol that defines the low-level
interface to a mediated communication channel or object store.
Many Connector implementations
are provided in the proxystore.connectors module,
and users can easily create their own.
The Store is a high-level abstraction of an
object store and the intended means by which an application uses ProxyStore.
The Store is initialized with
a Connector and provides
extra functionality like caching and serialization. Most important is that the
.proxy() method is provided which can
produce a Proxy of an arbitrary object put in the
store.