jsonrpc: Reorder spdk_jsonrpc_server_write_cb
We'll use it in spdk_jsonrpc_parse_request() soon. Change-Id: I78ad2a931787b095e65053bea4dce663a92bb3b0 Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/459657 Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
46f3260a69
commit
d270cd36ad
@ -102,6 +102,42 @@ invalid:
|
||||
spdk_jsonrpc_server_handle_error(request, SPDK_JSONRPC_ERROR_INVALID_REQUEST);
|
||||
}
|
||||
|
||||
static int
|
||||
spdk_jsonrpc_server_write_cb(void *cb_ctx, const void *data, size_t size)
|
||||
{
|
||||
struct spdk_jsonrpc_request *request = cb_ctx;
|
||||
size_t new_size = request->send_buf_size;
|
||||
|
||||
while (new_size - request->send_len < size) {
|
||||
if (new_size >= SPDK_JSONRPC_SEND_BUF_SIZE_MAX) {
|
||||
SPDK_ERRLOG("Send buf exceeded maximum size (%zu)\n",
|
||||
(size_t)SPDK_JSONRPC_SEND_BUF_SIZE_MAX);
|
||||
return -1;
|
||||
}
|
||||
|
||||
new_size *= 2;
|
||||
}
|
||||
|
||||
if (new_size != request->send_buf_size) {
|
||||
uint8_t *new_buf;
|
||||
|
||||
new_buf = realloc(request->send_buf, new_size);
|
||||
if (new_buf == NULL) {
|
||||
SPDK_ERRLOG("Resizing send_buf failed (current size %zu, new size %zu)\n",
|
||||
request->send_buf_size, new_size);
|
||||
return -1;
|
||||
}
|
||||
|
||||
request->send_buf = new_buf;
|
||||
request->send_buf_size = new_size;
|
||||
}
|
||||
|
||||
memcpy(request->send_buf + request->send_len, data, size);
|
||||
request->send_len += size;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
spdk_jsonrpc_parse_request(struct spdk_jsonrpc_server_conn *conn, const void *json, size_t size)
|
||||
{
|
||||
@ -200,42 +236,6 @@ spdk_jsonrpc_get_conn(struct spdk_jsonrpc_request *request)
|
||||
return request->conn;
|
||||
}
|
||||
|
||||
static int
|
||||
spdk_jsonrpc_server_write_cb(void *cb_ctx, const void *data, size_t size)
|
||||
{
|
||||
struct spdk_jsonrpc_request *request = cb_ctx;
|
||||
size_t new_size = request->send_buf_size;
|
||||
|
||||
while (new_size - request->send_len < size) {
|
||||
if (new_size >= SPDK_JSONRPC_SEND_BUF_SIZE_MAX) {
|
||||
SPDK_ERRLOG("Send buf exceeded maximum size (%zu)\n",
|
||||
(size_t)SPDK_JSONRPC_SEND_BUF_SIZE_MAX);
|
||||
return -1;
|
||||
}
|
||||
|
||||
new_size *= 2;
|
||||
}
|
||||
|
||||
if (new_size != request->send_buf_size) {
|
||||
uint8_t *new_buf;
|
||||
|
||||
new_buf = realloc(request->send_buf, new_size);
|
||||
if (new_buf == NULL) {
|
||||
SPDK_ERRLOG("Resizing send_buf failed (current size %zu, new size %zu)\n",
|
||||
request->send_buf_size, new_size);
|
||||
return -1;
|
||||
}
|
||||
|
||||
request->send_buf = new_buf;
|
||||
request->send_buf_size = new_size;
|
||||
}
|
||||
|
||||
memcpy(request->send_buf + request->send_len, data, size);
|
||||
request->send_len += size;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct spdk_json_write_ctx *
|
||||
begin_response(struct spdk_jsonrpc_request *request)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user