@ -137,26 +137,6 @@ class TransactionQueue(object):
self . _processing_pending_presence = False
def can_send_to ( self , destination ) :
""" Can we send messages to the given server?
We can ' t send messages to ourselves. If we are running on localhost
then we can only federation with other servers running on localhost .
Otherwise we only federate with servers on a public domain .
Args :
destination ( str ) : The server we are possibly trying to send to .
Returns :
bool : True if we can send to the server .
"""
if destination == self . server_name :
return False
if self . server_name . startswith ( " localhost " ) :
return destination . startswith ( " localhost " )
else :
return not destination . startswith ( " localhost " )
def notify_new_events ( self , current_id ) :
""" This gets called when we have some new events we might want to
send out to other servers .
@ -279,10 +259,7 @@ class TransactionQueue(object):
self . _order + = 1
destinations = set ( destinations )
destinations = set (
dest for dest in destinations if self . can_send_to ( dest )
)
destinations . discard ( self . server_name )
logger . debug ( " Sending to: %s " , str ( destinations ) )
if not destinations :
@ -358,7 +335,7 @@ class TransactionQueue(object):
for destinations , states in hosts_and_states :
for destination in destinations :
if not self . can_send_to ( destination ) :
if destination == self . server_name :
continue
self . pending_presence_by_dest . setdefault (
@ -377,7 +354,8 @@ class TransactionQueue(object):
content = content ,
)
if not self . can_send_to ( destination ) :
if not destination == self . server_name :
logger . info ( " Not sending EDU to ourselves " )
return
sent_edus_counter . inc ( )
@ -392,11 +370,8 @@ class TransactionQueue(object):
self . _attempt_new_transaction ( destination )
def send_device_messages ( self , destination ) :
if destination == self . server_name or destination == " localhost " :
return
if not self . can_send_to ( destination ) :
return
if destination == self . server_name :
logger . info ( " Not sending device update to ourselves " )
self . _attempt_new_transaction ( destination )