Compare commits
No commits in common. "36226b01cd9dcd0529955380d932f24164039dd5" and "9da4857066065db837b831f2f62a6402b032979a" have entirely different histories.
36226b01cd
...
9da4857066
11
src/ssb.c
11
src/ssb.c
@ -279,6 +279,7 @@ typedef struct _tf_ssb_connection_t
|
||||
int32_t tunnel_request_number;
|
||||
|
||||
tf_ssb_blob_wants_t blob_wants;
|
||||
bool sent_clock;
|
||||
int32_t ebt_request_number;
|
||||
tf_ssb_ebt_t* ebt;
|
||||
|
||||
@ -3887,6 +3888,16 @@ void tf_ssb_verify_strip_and_store_message(tf_ssb_t* ssb, JSValue value, tf_ssb_
|
||||
}
|
||||
}
|
||||
|
||||
bool tf_ssb_connection_get_sent_clock(tf_ssb_connection_t* connection)
|
||||
{
|
||||
return connection->sent_clock;
|
||||
}
|
||||
|
||||
void tf_ssb_connection_set_sent_clock(tf_ssb_connection_t* connection, bool sent_clock)
|
||||
{
|
||||
connection->sent_clock = sent_clock;
|
||||
}
|
||||
|
||||
int32_t tf_ssb_connection_get_ebt_request_number(tf_ssb_connection_t* connection)
|
||||
{
|
||||
return connection->ebt_request_number;
|
||||
|
@ -114,10 +114,6 @@ void tf_ssb_ebt_receive_clock(tf_ssb_ebt_t* ebt, JSContext* context, JSValue clo
|
||||
entry->in_replicate = true;
|
||||
entry->in_receive = (sequence & 1) == 0;
|
||||
}
|
||||
if (!entry->in_receive)
|
||||
{
|
||||
tf_ssb_connection_remove_new_message_request(ebt->connection, author);
|
||||
}
|
||||
JS_FreeCString(context, author);
|
||||
JS_FreeValue(context, key);
|
||||
}
|
||||
@ -302,9 +298,5 @@ void tf_ssb_ebt_set_messages_sent(tf_ssb_ebt_t* ebt, const char* id, int64_t seq
|
||||
uv_mutex_lock(&ebt->mutex);
|
||||
ebt_entry_t* entry = _ebt_get_entry(ebt, id);
|
||||
entry->in = tf_max(entry->in, sequence);
|
||||
if (entry->in == entry->out && (tf_ssb_connection_get_flags(ebt->connection) & k_tf_ssb_connect_flag_one_shot) == 0)
|
||||
{
|
||||
tf_ssb_connection_add_new_message_request(ebt->connection, id, tf_ssb_connection_get_ebt_request_number(ebt->connection), false);
|
||||
}
|
||||
uv_mutex_unlock(&ebt->mutex);
|
||||
}
|
||||
|
14
src/ssb.h
14
src/ssb.h
@ -925,6 +925,20 @@ int32_t tf_ssb_connection_get_ebt_request_number(tf_ssb_connection_t* connection
|
||||
*/
|
||||
void tf_ssb_connection_set_ebt_request_number(tf_ssb_connection_t* connection, int32_t request_number);
|
||||
|
||||
/**
|
||||
** Get whether the EBT clock has been sent for a connection.
|
||||
** @param connection An SHS connection.
|
||||
** @return True if the clock has been sent.
|
||||
*/
|
||||
bool tf_ssb_connection_get_sent_clock(tf_ssb_connection_t* connection);
|
||||
|
||||
/**
|
||||
** Set the EBT clock sent state for a connection.
|
||||
** @param connection An SHS connection.
|
||||
** @param sent_clock Whether the clock has been sent.
|
||||
*/
|
||||
void tf_ssb_connection_set_sent_clock(tf_ssb_connection_t* connection, bool sent_clock);
|
||||
|
||||
/**
|
||||
** Get the JS class ID of the SSB connection class.
|
||||
** @return The class ID
|
||||
|
@ -957,6 +957,10 @@ static void _tf_ssb_rpc_ebt_replicate_send_messages(tf_ssb_connection_t* connect
|
||||
int32_t request_number = tf_ssb_connection_get_ebt_request_number(connection);
|
||||
bool live = (tf_ssb_connection_get_flags(connection) & k_tf_ssb_connect_flag_one_shot) == 0;
|
||||
_tf_ssb_connection_send_history_stream(connection, request_number, entry->id, entry->value, false, live, false);
|
||||
if (live)
|
||||
{
|
||||
tf_ssb_connection_add_new_message_request(connection, entry->id, request_number, false);
|
||||
}
|
||||
}
|
||||
tf_free(clock);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user