forked from cory/tildefriends
		
	ssb: Maybe ease up on hammering the db for follows.
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 in_clock = JS_IsUndefined(name) ? args : JS_UNDEFINED;
 | 
			
		||||
 | 
			
		||||
	bool resend_clock = false;
 | 
			
		||||
 | 
			
		||||
	if (!JS_IsUndefined(author))
 | 
			
		||||
	{
 | 
			
		||||
		/* Looks like a message. */
 | 
			
		||||
		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);
 | 
			
		||||
 | 
			
		||||
		if (!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);
 | 
			
		||||
		}
 | 
			
		||||
		resend_clock = !tf_ssb_is_shutting_down(ssb) && !tf_ssb_connection_is_closing(connection);
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		tf_ssb_ebt_t* ebt = tf_ssb_connection_get_ebt(connection);
 | 
			
		||||
		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, author);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user