Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
ZEO
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
ZEO
Commits
5a0cada7
Commit
5a0cada7
authored
Aug 25, 2008
by
Christian Theune
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor formatting cleanup.
parent
e1df481e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
6 deletions
+16
-6
src/ZEO/ClientStorage.py
src/ZEO/ClientStorage.py
+16
-6
No files found.
src/ZEO/ClientStorage.py
View file @
5a0cada7
...
...
@@ -16,6 +16,7 @@
Public contents of this module:
ClientStorage -- the main class, implementing the Storage API
"""
import
cPickle
...
...
@@ -66,6 +67,7 @@ def get_timestamp(prev_ts=None):
If the optional argument is not None, it must be a TimeStamp; the
return value is then guaranteed to be at least 1 microsecond later
the argument.
"""
t
=
time
.
time
()
t
=
TimeStamp
(
*
time
.
gmtime
(
t
)[:
5
]
+
(
t
%
60
,))
...
...
@@ -80,6 +82,7 @@ class DisconnectedServerStub:
This is a singleton class -- there should be only one instance,
the global disconnected_stub, os it can be tested by identity.
"""
def
__getattr__
(
self
,
attr
):
...
...
@@ -91,18 +94,18 @@ disconnected_stub = DisconnectedServerStub()
MB
=
1024
**
2
class
ClientStorage
(
object
):
"""A Storage class that is a network client to a remote storage.
"""A storage class that is a network client to a remote storage.
This is a faithful implementation of the Storage API.
This class is thread-safe; transactions are serialized in
tpc_begin().
"""
implements
(
IBlobStorage
)
# Classes we instantiate. A subclass might override.
# Classes we instantiate. A subclass might override.
TransactionBufferClass
=
TransactionBuffer
ClientCacheClass
=
ClientCache
ConnectionManagerClass
=
ConnectionManager
...
...
@@ -198,8 +201,8 @@ class ClientStorage(object):
Note that the authentication protocol is defined by the server
and is detected by the ClientStorage upon connecting (see
testConnection() and doAuth() for details).
"""
"""
log2
(
"%s (pid=%d) created %s/%s for storage: %r"
%
(
self
.
__class__
.
__name__
,
os
.
getpid
(),
...
...
@@ -450,6 +453,7 @@ class ClientStorage(object):
this is deemed a suboptimal match. In all other cases, a
succeeding register() call is deemed an optimal match, and any
exception raised by register() is passed through.
"""
log2
(
"Testing connection %r"
%
conn
)
# TODO: Should we check the protocol version here?
...
...
@@ -625,6 +629,7 @@ class ClientStorage(object):
This is called by ConnectionManager when the connection is
closed or when certain problems with the connection occur.
"""
log2
(
"Disconnected from storage: %s"
%
repr
(
self
.
_server_addr
))
self
.
_connection
=
None
...
...
@@ -645,6 +650,7 @@ class ClientStorage(object):
constructor, and the string 'connected' or 'disconnected' in
parentheses indicating whether the storage is (currently)
connected.
"""
return
"%s (%s)"
%
(
self
.
__name__
,
...
...
@@ -663,6 +669,7 @@ class ClientStorage(object):
to proxy in addition to the standard storage methods.
Dictionary values should be None; this will be a handy place
for extra marshalling information, should we need it
"""
return
self
.
_info
.
get
(
'extensionMethods'
,
{})
...
...
@@ -714,6 +721,7 @@ class ClientStorage(object):
This returns the pickle data and serial number for the object
specified by the given object id, if they exist;
otherwise a KeyError is raised.
"""
self
.
_lock
.
acquire
()
# for atomic processing of invalidations
try
:
...
...
@@ -811,6 +819,7 @@ class ClientStorage(object):
days -- a number of days to subtract from the pack time;
defaults to zero.
"""
# TODO: Is it okay that read-only connections allow pack()?
# rf argument ignored; server will provide its own implementation
...
...
@@ -904,7 +913,6 @@ class ClientStorage(object):
os
.
chmod
(
blob_filename
,
stat
.
S_IREAD
)
def
loadBlob
(
self
,
oid
,
serial
):
# Load a blob. If it isn't present and we have a shared blob
# directory, then assume that it doesn't exist on the server
# and return None.
...
...
@@ -1102,6 +1110,7 @@ class ClientStorage(object):
This iterates over the objects in the transaction buffer and
update or invalidate the cache.
"""
# Must be called with _lock already acquired.
...
...
@@ -1141,6 +1150,7 @@ class ClientStorage(object):
Zope uses this to implement undo unless it is not supported by
a storage.
"""
self
.
_check_trans
(
txn
)
tid
,
oids
=
self
.
_server
.
undo
(
trans_id
,
id
(
txn
))
...
...
@@ -1159,6 +1169,7 @@ class ClientStorage(object):
it is impossible to pass the filter function to the server to
be executed there. If filter is not None, an empty sequence
is returned.
"""
if
filter
is
not
None
:
return
[]
...
...
@@ -1237,4 +1248,3 @@ class ClientStorage(object):
invalidate
=
invalidateVerify
end
=
endVerify
Invalidate
=
invalidateTrans
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment