Use tf_ssb_connection_rpc_send_json everywhere I can. Less code, and fixes some leaks.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4122 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		@@ -120,12 +120,7 @@ static void _tf_ssb_rpc_blob_wants_added_callback(tf_ssb_t* ssb, const char* id,
 | 
			
		||||
	JSContext* context = tf_ssb_get_context(ssb);
 | 
			
		||||
	JSValue message = JS_NewObject(context);
 | 
			
		||||
	JS_SetPropertyStr(context, message, id, JS_NewInt64(context, -1));
 | 
			
		||||
	JSValue json = JS_JSONStringify(context, message, JS_NULL, JS_NULL);
 | 
			
		||||
	size_t size = 0;
 | 
			
		||||
	const char* message_str = JS_ToCStringLen(context, &size, json);
 | 
			
		||||
	tf_ssb_connection_rpc_send(connection, k_ssb_rpc_flag_json | k_ssb_rpc_flag_stream, -blob_wants->request_number, (const uint8_t*)message_str, size, NULL, NULL, NULL);
 | 
			
		||||
	JS_FreeCString(context, message_str);
 | 
			
		||||
	JS_FreeValue(context, json);
 | 
			
		||||
	tf_ssb_connection_rpc_send_json(connection, k_ssb_rpc_flag_stream, -blob_wants->request_number, message, NULL, NULL, NULL);
 | 
			
		||||
	JS_FreeValue(context, message);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -145,12 +140,7 @@ static void _tf_ssb_rpc_request_more_blobs(tf_ssb_connection_t* connection)
 | 
			
		||||
				const char* blob = (const char*)sqlite3_column_text(statement, 0);
 | 
			
		||||
				JSValue message = JS_NewObject(context);
 | 
			
		||||
				JS_SetPropertyStr(context, message, blob, JS_NewInt32(context, -1));
 | 
			
		||||
				JSValue json = JS_JSONStringify(context, message, JS_NULL, JS_NULL);
 | 
			
		||||
				size_t size = 0;
 | 
			
		||||
				const char* message_str = JS_ToCStringLen(context, &size, json);
 | 
			
		||||
				tf_ssb_connection_rpc_send(connection, k_ssb_rpc_flag_json | k_ssb_rpc_flag_stream, -blob_wants->request_number, (const uint8_t*)message_str, size, NULL, NULL, NULL);
 | 
			
		||||
				JS_FreeCString(context, message_str);
 | 
			
		||||
				JS_FreeValue(context, json);
 | 
			
		||||
				tf_ssb_connection_rpc_send_json(connection, k_ssb_rpc_flag_stream, -blob_wants->request_number, message, NULL, NULL, NULL);
 | 
			
		||||
				JS_FreeValue(context, message);
 | 
			
		||||
				snprintf(blob_wants->last_id, sizeof(blob_wants->last_id), "%s", blob);
 | 
			
		||||
				blob_wants->wants_sent++;
 | 
			
		||||
@@ -280,22 +270,16 @@ static void _tf_ssb_rpc_tunnel_connect(tf_ssb_connection_t* connection, uint8_t
 | 
			
		||||
			JS_SetPropertyUint32(context, arg_array, 0, arg_obj);
 | 
			
		||||
			JS_SetPropertyStr(context, message, "args", arg_array);
 | 
			
		||||
			JS_SetPropertyStr(context, message, "type", JS_NewString(context, "duplex"));
 | 
			
		||||
			JSValue message_val = JS_JSONStringify(context, message, JS_NULL, JS_NULL);
 | 
			
		||||
			size_t size;
 | 
			
		||||
			const char* message_str = JS_ToCStringLen(context, &size, message_val);
 | 
			
		||||
 | 
			
		||||
			tf_ssb_connection_rpc_send(
 | 
			
		||||
			tf_ssb_connection_rpc_send_json(
 | 
			
		||||
				target_connection,
 | 
			
		||||
				k_ssb_rpc_flag_json | k_ssb_rpc_flag_stream,
 | 
			
		||||
				k_ssb_rpc_flag_stream,
 | 
			
		||||
				tunnel_request_number,
 | 
			
		||||
				(const uint8_t*)message_str,
 | 
			
		||||
				size,
 | 
			
		||||
				message,
 | 
			
		||||
				NULL,
 | 
			
		||||
				NULL,
 | 
			
		||||
				NULL);
 | 
			
		||||
 | 
			
		||||
			JS_FreeCString(context, message_str);
 | 
			
		||||
 | 
			
		||||
			tunnel_t* data0 = tf_malloc(sizeof(tunnel_t));
 | 
			
		||||
			*data0 = (tunnel_t)
 | 
			
		||||
			{
 | 
			
		||||
@@ -308,11 +292,9 @@ static void _tf_ssb_rpc_tunnel_connect(tf_ssb_connection_t* connection, uint8_t
 | 
			
		||||
				.connection = connection,
 | 
			
		||||
				.request_number = -request_number,
 | 
			
		||||
			};
 | 
			
		||||
			printf("MAKE TUNNEL %p %p\n", connection, target_connection);
 | 
			
		||||
			tf_ssb_connection_add_request(connection, -request_number, _tf_ssb_rpc_tunnel_callback, _tf_ssb_rpc_tunnel_cleanup, data0, target_connection);
 | 
			
		||||
			tf_ssb_connection_add_request(target_connection, tunnel_request_number, _tf_ssb_rpc_tunnel_callback, _tf_ssb_rpc_tunnel_cleanup, data1, connection);
 | 
			
		||||
 | 
			
		||||
			JS_FreeValue(context, message_val);
 | 
			
		||||
			JS_FreeValue(context, message);
 | 
			
		||||
			JS_FreeCString(context, portal_str);
 | 
			
		||||
		}
 | 
			
		||||
@@ -486,21 +468,16 @@ static void _tf_ssb_rpc_connection_blobs_get(tf_ssb_connection_t* connection, co
 | 
			
		||||
	JSValue args = JS_NewArray(context);
 | 
			
		||||
	JS_SetPropertyUint32(context, args, 0, JS_NewString(context, blob_id));
 | 
			
		||||
	JS_SetPropertyStr(context, message, "args", args);
 | 
			
		||||
	JSValue message_val = JS_JSONStringify(context, message, JS_NULL, JS_NULL);
 | 
			
		||||
	size_t message_size;
 | 
			
		||||
	const char* message_str = JS_ToCStringLen(context, &message_size, message_val);
 | 
			
		||||
 | 
			
		||||
	tf_ssb_connection_rpc_send(
 | 
			
		||||
	tf_ssb_connection_rpc_send_json(
 | 
			
		||||
		connection,
 | 
			
		||||
		k_ssb_rpc_flag_json | k_ssb_rpc_flag_stream,
 | 
			
		||||
		k_ssb_rpc_flag_stream,
 | 
			
		||||
		tf_ssb_connection_next_request_number(connection),
 | 
			
		||||
		(const uint8_t*)message_str,
 | 
			
		||||
		message_size,
 | 
			
		||||
		message,
 | 
			
		||||
		_tf_ssb_rpc_connection_blobs_get_callback,
 | 
			
		||||
		_tf_ssb_rpc_connection_blobs_get_cleanup,
 | 
			
		||||
		get);
 | 
			
		||||
 | 
			
		||||
	JS_FreeCString(context, message_str);
 | 
			
		||||
	JS_FreeValue(context, message);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -551,42 +528,28 @@ static void _tf_ssb_rpc_connection_blobs_createWants_callback(tf_ssb_connection_
 | 
			
		||||
			{
 | 
			
		||||
				JSValue message = JS_NewObject(context);
 | 
			
		||||
				JS_SetPropertyStr(context, message, blob_id, JS_NewInt64(context, blob_size));
 | 
			
		||||
				JSValue message_val = JS_JSONStringify(context, message, JS_NULL, JS_NULL);
 | 
			
		||||
				size_t message_size;
 | 
			
		||||
				const char* message_str = JS_ToCStringLen(context, &message_size, message_val);
 | 
			
		||||
 | 
			
		||||
				tf_ssb_connection_rpc_send(
 | 
			
		||||
				tf_ssb_connection_rpc_send_json(
 | 
			
		||||
					connection,
 | 
			
		||||
					k_ssb_rpc_flag_json | k_ssb_rpc_flag_stream,
 | 
			
		||||
					k_ssb_rpc_flag_stream,
 | 
			
		||||
					-blob_wants->request_number,
 | 
			
		||||
					(const uint8_t*)message_str,
 | 
			
		||||
					message_size,
 | 
			
		||||
					message,
 | 
			
		||||
					NULL,
 | 
			
		||||
					NULL,
 | 
			
		||||
					NULL);
 | 
			
		||||
 | 
			
		||||
				JS_FreeCString(context, message_str);
 | 
			
		||||
				JS_FreeValue(context, message);
 | 
			
		||||
			}
 | 
			
		||||
			else if (size == -1LL)
 | 
			
		||||
			{
 | 
			
		||||
				JSValue message = JS_NewObject(context);
 | 
			
		||||
				JS_SetPropertyStr(context, message, blob_id, JS_NewInt64(context, -2));
 | 
			
		||||
				JSValue message_val = JS_JSONStringify(context, message, JS_NULL, JS_NULL);
 | 
			
		||||
				size_t message_size;
 | 
			
		||||
				const char* message_str = JS_ToCStringLen(context, &message_size, message_val);
 | 
			
		||||
 | 
			
		||||
				tf_ssb_connection_rpc_send(
 | 
			
		||||
				tf_ssb_connection_rpc_send_json(
 | 
			
		||||
					connection,
 | 
			
		||||
					k_ssb_rpc_flag_json | k_ssb_rpc_flag_stream,
 | 
			
		||||
					k_ssb_rpc_flag_stream,
 | 
			
		||||
					-blob_wants->request_number,
 | 
			
		||||
					(const uint8_t*)message_str,
 | 
			
		||||
					message_size,
 | 
			
		||||
					message,
 | 
			
		||||
					NULL,
 | 
			
		||||
					NULL,
 | 
			
		||||
					NULL);
 | 
			
		||||
 | 
			
		||||
				JS_FreeCString(context, message_str);
 | 
			
		||||
				JS_FreeValue(context, message);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user