mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-08 00:43:06 +00:00
fix: libwaku's redundant allocs (#3380)
This commit is contained in:
parent
f7b4244512
commit
ac454a30b9
@ -225,19 +225,11 @@ proc waku_content_topic(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let appStr = appName.alloc()
|
let contentTopic = fmt"/{$appName}/{$appVersion}/{$contentTopicName}/{$encoding}"
|
||||||
let ctnStr = contentTopicName.alloc()
|
|
||||||
let encodingStr = encoding.alloc()
|
|
||||||
|
|
||||||
let contentTopic = fmt"/{$appStr}/{appVersion}/{$ctnStr}/{$encodingStr}"
|
|
||||||
callback(
|
callback(
|
||||||
RET_OK, unsafeAddr contentTopic[0], cast[csize_t](len(contentTopic)), userData
|
RET_OK, unsafeAddr contentTopic[0], cast[csize_t](len(contentTopic)), userData
|
||||||
)
|
)
|
||||||
|
|
||||||
deallocShared(appStr)
|
|
||||||
deallocShared(ctnStr)
|
|
||||||
deallocShared(encodingStr)
|
|
||||||
|
|
||||||
return RET_OK
|
return RET_OK
|
||||||
|
|
||||||
proc waku_pubsub_topic(
|
proc waku_pubsub_topic(
|
||||||
@ -248,15 +240,11 @@ proc waku_pubsub_topic(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let topicNameStr = topicName.alloc()
|
let outPubsubTopic = fmt"/waku/2/{$topicName}"
|
||||||
|
|
||||||
let outPubsubTopic = fmt"/waku/2/{$topicNameStr}"
|
|
||||||
callback(
|
callback(
|
||||||
RET_OK, unsafeAddr outPubsubTopic[0], cast[csize_t](len(outPubsubTopic)), userData
|
RET_OK, unsafeAddr outPubsubTopic[0], cast[csize_t](len(outPubsubTopic)), userData
|
||||||
)
|
)
|
||||||
|
|
||||||
deallocShared(topicNameStr)
|
|
||||||
|
|
||||||
return RET_OK
|
return RET_OK
|
||||||
|
|
||||||
proc waku_default_pubsub_topic(
|
proc waku_default_pubsub_topic(
|
||||||
@ -289,12 +277,9 @@ proc waku_relay_publish(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let jwm = jsonWakuMessage.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(jwm)
|
|
||||||
var jsonMessage: JsonMessage
|
var jsonMessage: JsonMessage
|
||||||
try:
|
try:
|
||||||
let jsonContent = parseJson($jwm)
|
let jsonContent = parseJson($jsonWakuMessage)
|
||||||
jsonMessage = JsonMessage.fromJsonNode(jsonContent).valueOr:
|
jsonMessage = JsonMessage.fromJsonNode(jsonContent).valueOr:
|
||||||
raise newException(JsonParsingError, $error)
|
raise newException(JsonParsingError, $error)
|
||||||
except JsonParsingError:
|
except JsonParsingError:
|
||||||
@ -307,14 +292,10 @@ proc waku_relay_publish(
|
|||||||
callback(RET_ERR, unsafeAddr msg[0], cast[csize_t](len(msg)), userData)
|
callback(RET_ERR, unsafeAddr msg[0], cast[csize_t](len(msg)), userData)
|
||||||
return RET_ERR
|
return RET_ERR
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(RelayMsgType.PUBLISH, pst, nil, wakuMessage),
|
RelayRequest.createShared(RelayMsgType.PUBLISH, pubSubTopic, nil, wakuMessage),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
@ -354,15 +335,12 @@ proc waku_relay_subscribe(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
var cb = onReceivedMessage(ctx)
|
var cb = onReceivedMessage(ctx)
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(RelayMsgType.SUBSCRIBE, pst, WakuRelayHandler(cb)),
|
RelayRequest.createShared(RelayMsgType.SUBSCRIBE, pubSubTopic, WakuRelayHandler(cb)),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
@ -377,9 +355,6 @@ proc waku_relay_add_protected_shard(
|
|||||||
): cint {.dynlib, exportc, cdecl.} =
|
): cint {.dynlib, exportc, cdecl.} =
|
||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
let pubk = publicKey.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pubk)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
@ -388,7 +363,7 @@ proc waku_relay_add_protected_shard(
|
|||||||
RelayMsgType.ADD_PROTECTED_SHARD,
|
RelayMsgType.ADD_PROTECTED_SHARD,
|
||||||
clusterId = clusterId,
|
clusterId = clusterId,
|
||||||
shardId = shardId,
|
shardId = shardId,
|
||||||
publicKey = pubk,
|
publicKey = publicKey,
|
||||||
),
|
),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
@ -403,15 +378,11 @@ proc waku_relay_unsubscribe(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(
|
RelayRequest.createShared(
|
||||||
RelayMsgType.UNSUBSCRIBE, pst, WakuRelayHandler(onReceivedMessage(ctx))
|
RelayMsgType.UNSUBSCRIBE, pubSubTopic, WakuRelayHandler(onReceivedMessage(ctx))
|
||||||
),
|
),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
@ -426,14 +397,10 @@ proc waku_relay_get_num_connected_peers(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(RelayMsgType.NUM_CONNECTED_PEERS, pst),
|
RelayRequest.createShared(RelayMsgType.NUM_CONNECTED_PEERS, pubSubTopic),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
@ -447,14 +414,10 @@ proc waku_relay_get_connected_peers(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(RelayMsgType.LIST_CONNECTED_PEERS, pst),
|
RelayRequest.createShared(RelayMsgType.LIST_CONNECTED_PEERS, pubSubTopic),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
@ -468,14 +431,10 @@ proc waku_relay_get_num_peers_in_mesh(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(RelayMsgType.NUM_MESH_PEERS, pst),
|
RelayRequest.createShared(RelayMsgType.NUM_MESH_PEERS, pubSubTopic),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
@ -489,14 +448,10 @@ proc waku_relay_get_peers_in_mesh(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.RELAY,
|
RequestType.RELAY,
|
||||||
RelayRequest.createShared(RelayMsgType.LIST_MESH_PEERS, pst),
|
RelayRequest.createShared(RelayMsgType.LIST_MESH_PEERS, pubSubTopic),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
@ -566,15 +521,9 @@ proc waku_lightpush_publish(
|
|||||||
initializeLibrary()
|
initializeLibrary()
|
||||||
checkLibwakuParams(ctx, callback, userData)
|
checkLibwakuParams(ctx, callback, userData)
|
||||||
|
|
||||||
let jwm = jsonWakuMessage.alloc()
|
|
||||||
let pst = pubSubTopic.alloc()
|
|
||||||
defer:
|
|
||||||
deallocShared(jwm)
|
|
||||||
deallocShared(pst)
|
|
||||||
|
|
||||||
var jsonMessage: JsonMessage
|
var jsonMessage: JsonMessage
|
||||||
try:
|
try:
|
||||||
let jsonContent = parseJson($jwm)
|
let jsonContent = parseJson($jsonWakuMessage)
|
||||||
jsonMessage = JsonMessage.fromJsonNode(jsonContent).valueOr:
|
jsonMessage = JsonMessage.fromJsonNode(jsonContent).valueOr:
|
||||||
raise newException(JsonParsingError, $error)
|
raise newException(JsonParsingError, $error)
|
||||||
except JsonParsingError:
|
except JsonParsingError:
|
||||||
@ -590,7 +539,7 @@ proc waku_lightpush_publish(
|
|||||||
handleRequest(
|
handleRequest(
|
||||||
ctx,
|
ctx,
|
||||||
RequestType.LIGHTPUSH,
|
RequestType.LIGHTPUSH,
|
||||||
LightpushRequest.createShared(LightpushMsgType.PUBLISH, pst, wakuMessage),
|
LightpushRequest.createShared(LightpushMsgType.PUBLISH, pubSubTopic, wakuMessage),
|
||||||
callback,
|
callback,
|
||||||
userData,
|
userData,
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user