ec5c4499f4 
								
							
								 
							
						 
						
							
							
								
								Make presence use cached users/hosts in room  
							
							
							
						 
						
							2017-05-16 16:01:43 +01:00  
				
					
						
							
							
								 
						
							
							
								7166854f41 
								
							
								 
							
						 
						
							
							
								
								Add cache for get_current_hosts_in_room  
							
							
							
						 
						
							2017-05-02 10:36:35 +01:00  
				
					
						
							
							
								 
						
							
							
								247c736b9b 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2115  from matrix-org/erikj/dedupe_federation_repl  
							
							... 
							
							
							
							Reduce federation replication traffic 
							
						 
						
							2017-04-12 11:07:13 +01:00  
				
					
						
							
							
								 
						
							
							
								1745069543 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-04-12 10:17:10 +01:00  
				
					
						
							
							
								 
						
							
							
								c7ddb5ef7a 
								
							
								 
							
						 
						
							
							
								
								Reuse get_interested_parties  
							
							
							
						 
						
							2017-04-12 10:16:26 +01:00  
				
					
						
							
							
								 
						
							
							
								11dbceb761 
								
							
								 
							
						 
						
							
							
								
								Add a counter metric for successfully-sent transactions  
							
							
							
						 
						
							2017-04-11 17:16:12 +01:00  
				
					
						
							
							
								 
						
							
							
								a8c8e4efd4 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2017-04-11 15:35:49 +01:00  
				
					
						
							
							
								 
						
							
							
								6308ac45b0 
								
							
								 
							
						 
						
							
							
								
								Move get_interested_remotes back to presence handler  
							
							
							
						 
						
							2017-04-11 15:19:26 +01:00  
				
					
						
							
							
								 
						
							
							
								b9b72bc6e2 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							
							
						 
						
							2017-04-11 15:15:34 +01:00  
				
					
						
							
							
								 
						
							
							
								29574fd5b3 
								
							
								 
							
						 
						
							
							
								
								Reduce federation presence replication traffic  
							
							... 
							
							
							
							This is mainly done by moving the calculation of where to send presence
updates from the presence handler to the transaction queue, so we only
need to send the presence event (and not the destinations) across the
replication connection. Before we were duplicating by sending the full
state across once per destination. 
							
						 
						
							2017-04-10 16:48:30 +01:00  
				
					
						
							
							
								 
						
							
							
								85be3dde81 
								
							
								 
							
						 
						
							
							
								
								Bail early if remote wouldn't be retried ( #2064 )  
							
							... 
							
							
							
							* Bail early if remote wouldn't be retried
* Don't always return true
* Just use get_retry_limiter
* Spelling 
							
						 
						
							2017-03-29 11:48:27 +01:00  
				
					
						
							
							
								 
						
							
							
								2a28b79e04 
								
							
								 
							
						 
						
							
							
								
								Batch sending of device list pokes  
							
							
							
						 
						
							2017-03-24 14:44:49 +00:00  
				
					
						
							
							
								 
						
							
							
								4bd597d9fc 
								
							
								 
							
						 
						
							
							
								
								push federation retry limiter down to matrixfederationclient  
							
							... 
							
							
							
							rather than having to instrument everywhere we make a federation call,
make the MatrixFederationHttpClient manage the retry limiter. 
							
						 
						
							2017-03-23 09:28:46 +00:00  
				
					
						
							
							
								 
						
							
							
								29ed09e80a 
								
							
								 
							
						 
						
							
							
								
								Fix assertion to stop transaction queue getting wedged  
							
							... 
							
							
							
							... and update some docstrings to correctly reflect the types being used.
get_new_device_msgs_for_remote can return a long under some circumstances,
which was being stored in last_device_list_stream_id_by_dest, and was then
upsetting things on the next loop. 
							
						 
						
							2017-03-15 12:16:55 +00:00  
				
					
						
							
							
								 
						
							
							
								0c4cf9372b 
								
							
								 
							
						 
						
							
							
								
								Fix a race in transaction queue  
							
							... 
							
							
							
							It was theoretically possible for a PDU to get queued and not sent for ages. On
closer inspection I think there were bigger problems elsewhere, but we might as
well fix this since it's easy. 
							
						 
						
							2017-02-20 16:46:25 +00:00  
				
					
						
							
							
								 
						
							
							
								df4ecff5a9 
								
							
								 
							
						 
						
							
							
								
								Correctly raise exceptions for ratelimitng. Ratelimit on 401  
							
							
							
						 
						
							2017-02-01 15:42:19 +00:00  
				
					
						
							
							
								 
						
							
							
								ae7a132f38 
								
							
								 
							
						 
						
							
							
								
								Better handle 404 response for federation /send/  
							
							
							
						 
						
							2017-01-31 13:40:09 +00:00  
				
					
						
							
							
								 
						
							
							
								51e9fe36e4 
								
							
								 
							
						 
						
							
							
								
								Fix up sending of m.device_list_update edus  
							
							
							
						 
						
							2017-01-25 16:55:21 +00:00  
				
					
						
							
							
								 
						
							
							
								2367c5568c 
								
							
								 
							
						 
						
							
							
								
								Add basic implementation of local device list changes  
							
							
							
						 
						
							2017-01-25 14:27:27 +00:00  
				
					
						
							
							
								 
						
							
							
								f878f64f43 
								
							
								 
							
						 
						
							
							
								
								Lower the not retrying host log line to debug  
							
							
							
						 
						
							2017-01-17 17:20:39 +00:00  
				
					
						
							
							
								 
						
							
							
								f784980d2b 
								
							
								 
							
						 
						
							
							
								
								Only send events that originate on this server.  
							
							... 
							
							
							
							Or events that are sent via the federation "send_join" API.
This should match the behaviour from before v0.18.5 and #1635  landed. 
							
						 
						
							2017-01-05 11:26:30 +00:00  
				
					
						
							
							
								 
						
							
							
								e02bdaf08b 
								
							
								 
							
						 
						
							
							
								
								Get the destinations from the state from before the event  
							
							... 
							
							
							
							Rather than the state after then event. 
							
						 
						
							2017-01-04 15:17:15 +00:00  
				
					
						
							
							
								 
						
							
							
								b6b67715ed 
								
							
								 
							
						 
						
							
							
								
								Send ALL membership events to the server that was affected.  
							
							... 
							
							
							
							Send all membership changes to the server that was affected.
This ensures that if the last member of a room on a server
was kicked or banned they get told about it. 
							
						 
						
							2017-01-04 13:56:20 +00:00  
				
					
						
							
							
								 
						
							
							
								aaecffba3a 
								
							
								 
							
						 
						
							
							
								
								Correctly handle 500's and 429 on federation  
							
							
							
						 
						
							2016-11-24 15:04:49 +00:00  
				
					
						
							
							
								 
						
							
							
								50934ce460 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							
							
						 
						
							2016-11-21 16:55:23 +00:00  
				
					
						
							
							
								 
						
							
							
								9687e039e7 
								
							
								 
							
						 
						
							
							
								
								Remove explicit calls to send_pdu  
							
							
							
						 
						
							2016-11-21 14:48:51 +00:00  
				
					
						
							
							
								 
						
							
							
								524d61bf7e 
								
							
								 
							
						 
						
							
							
								
								Fix tests  
							
							
							
						 
						
							2016-11-21 11:53:02 +00:00  
				
					
						
							
							
								 
						
							
							
								7c9cdb2245 
								
							
								 
							
						 
						
							
							
								
								Store federation stream positions in the database  
							
							
							
						 
						
							2016-11-21 11:33:08 +00:00  
				
					
						
							
							
								 
						
							
							
								f8ee66250a 
								
							
								 
							
						 
						
							
							
								
								Handle sending events and device messages over federation  
							
							
							
						 
						
							2016-11-17 15:48:04 +00:00  
				
					
						
							
							
								 
						
							
							
								59ef517e6b 
								
							
								 
							
						 
						
							
							
								
								Use new federation_sender DI  
							
							
							
						 
						
							2016-11-16 14:47:52 +00:00  
				
					
						
							
							
								 
						
							
							
								847d5db1d1 
								
							
								 
							
						 
						
							
							
								
								Add transaction queue and transport layer to DI  
							
							
							
						 
						
							2016-11-16 14:47:52 +00:00  
				
					
						
							
							
								 
						
							
							
								daec6fc355 
								
							
								 
							
						 
						
							
							
								
								Move logic into transaction_queue  
							
							
							
						 
						
							2016-11-16 14:47:52 +00:00  
				
					
						
							
							
								 
						
							
							
								0e830d3770 
								
							
								 
							
						 
						
							
							
								
								Rename transaction queue functions to send_*  
							
							
							
						 
						
							2016-11-16 14:47:52 +00:00  
				
					
						
							
							
								 
						
							
							
								af4701b311 
								
							
								 
							
						 
						
							
							
								
								Fix incorrect attribute name  
							
							
							
						 
						
							2016-09-09 17:36:56 +01:00  
				
					
						
							
							
								 
						
							
							
								464ffd1b5e 
								
							
								 
							
						 
						
							
							
								
								Comment  
							
							
							
						 
						
							2016-09-09 17:17:23 +01:00  
				
					
						
							
							
								 
						
							
							
								327425764e 
								
							
								 
							
						 
						
							
							
								
								Add edu.type as part of key. Remove debug logging  
							
							
							
						 
						
							2016-09-09 17:13:30 +01:00  
				
					
						
							
							
								 
						
							
							
								52b2318777 
								
							
								 
							
						 
						
							
							
								
								Clobber EDUs in send queue  
							
							
							
						 
						
							2016-09-09 15:59:08 +01:00  
				
					
						
							
							
								 
						
							
							
								ab80d5e0a9 
								
							
								 
							
						 
						
							
							
								
								Drop replication log levels  
							
							
							
						 
						
							2016-09-09 14:56:50 +01:00  
				
					
						
							
							
								 
						
							
							
								a6c6750166 
								
							
								 
							
						 
						
							
							
								
								Check if destination is ready for retry earlier  
							
							
							
						 
						
							2016-09-09 13:46:05 +01:00  
				
					
						
							
							
								 
						
							
							
								4598682b43 
								
							
								 
							
						 
						
							
							
								
								Fix tightloop on sending transaction  
							
							
							
						 
						
							2016-09-09 13:12:53 +01:00  
				
					
						
							
							
								 
						
							
							
								d2688d7f03 
								
							
								 
							
						 
						
							
							
								
								Correctly guard against multiple concurrent transactions  
							
							
							
						 
						
							2016-09-09 11:44:36 +01:00  
				
					
						
							
							
								 
						
							
							
								b390756150 
								
							
								 
							
						 
						
							
							
								
								Update last_device_stream_id_by_dest if there is nothing to send  
							
							
							
						 
						
							2016-09-09 11:00:15 +01:00  
				
					
						
							
							
								 
						
							
							
								43954d000e 
								
							
								 
							
						 
						
							
							
								
								Add a new method to enqueue the device messages rather than sending a dummy EDU  
							
							
							
						 
						
							2016-09-07 16:10:51 +01:00  
				
					
						
							
							
								 
						
							
							
								cb98ac261b 
								
							
								 
							
						 
						
							
							
								
								Move the check for federated device_messages.  
							
							... 
							
							
							
							Move the check into _attempt_new_transaction.
Only delete messages if there were messages to delete. 
							
						 
						
							2016-09-07 15:39:13 +01:00  
				
					
						
							
							
								 
						
							
							
								31a07d2335 
								
							
								 
							
						 
						
							
							
								
								Add stream change caches for device messages  
							
							
							
						 
						
							2016-09-07 15:27:07 +01:00  
				
					
						
							
							
								 
						
							
							
								d4a35ada28 
								
							
								 
							
						 
						
							
							
								
								Send device messages over federation  
							
							
							
						 
						
							2016-09-06 18:16:20 +01:00  
				
					
						
							
							
								 
						
							
							
								c315922b5f 
								
							
								 
							
						 
						
							
							
								
								PEP8  
							
							
							
						 
						
							2016-08-10 16:34:10 +01:00  
				
					
						
							
							
								 
						
							
							
								ca8abfbf30 
								
							
								 
							
						 
						
							
							
								
								Clean up TransactionQueue  
							
							
							
						 
						
							2016-08-10 16:24:16 +01:00  
				
					
						
							
							
								 
						
							
							
								3bc9629be5 
								
							
								 
							
						 
						
							
							
								
								Measure federation send transaction resources  
							
							
							
						 
						
							2016-08-10 10:56:38 +01:00  
				
					
						
							
							
								 
						
							
							
								f6ebaf4a32 
								
							
								 
							
						 
						
							
							
								
								Run transaction queue on reactor  
							
							... 
							
							
							
							This ensures that any CPU work that happens doesn't block message
sending. 
							
						 
						
							2016-05-09 10:10:06 +01:00