1
0

Reduce size of fed transaction IDs

This commit is contained in:
Erik Johnston
2018-11-28 20:09:39 +00:00
committed by Brendan Abolivier
parent 0d7ec185cb
commit f8b891c5e7
2 changed files with 38 additions and 3 deletions

View File

@@ -14,6 +14,13 @@
# limitations under the License.
import datetime
import logging
<<<<<<< HEAD
=======
import random
import json
import opentracing
import string
>>>>>>> 46aae2456... Reduce size of fed transaction IDs
from six import itervalues
@@ -128,7 +135,7 @@ class TransactionQueue(object):
self.last_device_list_stream_id_by_dest = {}
# HACK to get unique tx id
self._next_txn_id = int(self.clock.time_msec())
self._next_txn_id = 1
self._order = 1
@@ -423,6 +430,15 @@ class TransactionQueue(object):
pending_pdus = []
while True:
<<<<<<< HEAD
=======
txn_id = _encode_id(self._next_txn_id)
self._next_txn_id += 1
for s in pdu_spans.values():
s.set_tag("txn-id", txn_id)
>>>>>>> 46aae2456... Reduce size of fed transaction IDs
device_message_edus, device_stream_id, dev_list_id = (
yield self._get_new_device_messages(destination)
)
@@ -670,3 +686,19 @@ class TransactionQueue(object):
success = False
defer.returnValue(success)
def _numberToBase(n, b):
if n == 0:
return [0]
digits = []
while n:
digits.append(int(n % b))
n //= b
return digits[::-1]
def _encode_id(i):
digits = string.digits + string.ascii_letters
val_slice = _numberToBase(i, len(digits))
return "".join(digits[x] for x in val_slice)

View File

@@ -194,8 +194,11 @@ class _WrappedConnection(object):
# In Twisted >18.4; the TLS connection will be None if it has closed
# which will make abortConnection() throw. Check that the TLS connection
# is not None before trying to close it.
if self.transport.getHandle() is not None:
self.transport.abortConnection()
try:
if self.transport.getHandle() is not None:
self.transport.abortConnection()
except:
logger.warning("Failed to abort connection")
def request(self, request):
self.last_request = time.time()