From 2820d6797a5b54a38df1efd998ecb3e379a40ff1 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 22 Jun 2011 18:25:55 +0000 Subject: [PATCH] Allow subclasses to configure the lock timeout. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6666 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../presents/peer/server/PeerManager.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/threerings/presents/peer/server/PeerManager.java b/src/main/java/com/threerings/presents/peer/server/PeerManager.java index 26428fb5f..e4eaefd75 100644 --- a/src/main/java/com/threerings/presents/peer/server/PeerManager.java +++ b/src/main/java/com/threerings/presents/peer/server/PeerManager.java @@ -1371,6 +1371,15 @@ public abstract class PeerManager listener.requestCompleted(null); } + /** + * Returns the amount of time to wait for peer ratification to complete before + * acquiring/releasing a lock. + */ + protected long getLockTimeout () + { + return DEFAULT_LOCK_TIMEOUT; + } + /** * Handles a lock in a state of resolution. */ @@ -1408,7 +1417,7 @@ public abstract class PeerManager _stats.lockTimeouts++; activate(); } - })).schedule(LOCK_TIMEOUT); + })).schedule(getLockTimeout()); } /** @@ -1653,6 +1662,6 @@ public abstract class PeerManager @Inject protected PresentsDObjectMgr _omgr; @Inject protected ReportManager _repmgr; - /** We wait this long for peer ratification to complete before acquiring/releasing the lock. */ - protected static final long LOCK_TIMEOUT = 5000L; + /** The default lock timeout. */ + protected static final long DEFAULT_LOCK_TIMEOUT = 5000L; }