ssb: Maybe ease up on hammering the db for follows.
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Build Tilde Friends / Build-All (push) Successful in 22m52s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Build Tilde Friends / Build-All (push) Successful in 22m52s
				
			This commit is contained in:
		@@ -1024,27 +1024,31 @@ static void _tf_ssb_rpc_ebt_replicate(tf_ssb_connection_t* connection, uint8_t f
 | 
				
			|||||||
	JSValue name = JS_GetPropertyStr(context, args, "name");
 | 
						JSValue name = JS_GetPropertyStr(context, args, "name");
 | 
				
			||||||
	JSValue in_clock = JS_IsUndefined(name) ? args : JS_UNDEFINED;
 | 
						JSValue in_clock = JS_IsUndefined(name) ? args : JS_UNDEFINED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						bool resend_clock = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!JS_IsUndefined(author))
 | 
						if (!JS_IsUndefined(author))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		/* Looks like a message. */
 | 
							/* Looks like a message. */
 | 
				
			||||||
		tf_ssb_connection_adjust_read_backpressure(connection, 1);
 | 
							tf_ssb_connection_adjust_read_backpressure(connection, 1);
 | 
				
			||||||
		tf_ssb_verify_strip_and_store_message(ssb, args, _tf_ssb_rpc_ebt_replicate_store_callback, connection);
 | 
							tf_ssb_verify_strip_and_store_message(ssb, args, _tf_ssb_rpc_ebt_replicate_store_callback, connection);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (!tf_ssb_is_shutting_down(ssb) && !tf_ssb_connection_is_closing(connection))
 | 
							resend_clock = !tf_ssb_is_shutting_down(ssb) && !tf_ssb_connection_is_closing(connection);
 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			resend_clock_t* resend = tf_malloc(sizeof(resend_clock_t));
 | 
					 | 
				
			||||||
			*resend = (resend_clock_t) {
 | 
					 | 
				
			||||||
				.connection = connection,
 | 
					 | 
				
			||||||
				.request_number = request_number,
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
			tf_ssb_connection_schedule_idle(connection, "ebt.clock", _tf_ssb_rpc_ebt_replicate_resend_clock, resend);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		tf_ssb_ebt_t* ebt = tf_ssb_connection_get_ebt(connection);
 | 
							tf_ssb_ebt_t* ebt = tf_ssb_connection_get_ebt(connection);
 | 
				
			||||||
		tf_ssb_ebt_receive_clock(ebt, context, in_clock);
 | 
							tf_ssb_ebt_receive_clock(ebt, context, in_clock);
 | 
				
			||||||
		tf_ssb_ebt_get_send_clock(ebt, request_number, _tf_ssb_rpc_ebt_send_clock_callback, connection);
 | 
							resend_clock = true;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (resend_clock)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							resend_clock_t* resend = tf_malloc(sizeof(resend_clock_t));
 | 
				
			||||||
 | 
							*resend = (resend_clock_t) {
 | 
				
			||||||
 | 
								.connection = connection,
 | 
				
			||||||
 | 
								.request_number = request_number,
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
							tf_ssb_connection_schedule_idle(connection, "ebt.clock", _tf_ssb_rpc_ebt_replicate_resend_clock, resend);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	JS_FreeValue(context, name);
 | 
						JS_FreeValue(context, name);
 | 
				
			||||||
	JS_FreeValue(context, author);
 | 
						JS_FreeValue(context, author);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user