本文整理汇总了C++中ccnet_processor_send_response函数的典型用法代码示例。如果您正苦于以下问题:C++ ccnet_processor_send_response函数的具体用法?C++ ccnet_processor_send_response怎么用?C++ ccnet_processor_send_response使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ccnet_processor_send_response函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: start
static int
start (CcnetProcessor *processor, int argc, char **argv)
{
if (argc != 2) {
g_warning ("[notifysync-slave] argc(%d) must be 2\n", argc);
ccnet_processor_done (processor, FALSE);
return -1;
}
const char *repo_id = argv[0];
const char *token = argv[1];
seaf_debug ("[notifysync-slave] Receive notify sync repo %s from %s\n",
repo_id, processor->peer_id);
if (!seaf_repo_manager_repo_exists (seaf->repo_mgr, repo_id)) {
ccnet_processor_send_response (processor, SC_BAD_REPO, SS_BAD_REPO, NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
seaf_sync_manager_add_sync_task (seaf->sync_mgr, repo_id,
processor->peer_id,
token, TRUE, NULL);
ccnet_processor_send_response (processor, SC_OK, SS_OK,
NULL, 0);
ccnet_processor_done (processor, TRUE);
return 0;
}
开发者ID:90songjian,项目名称:seafile,代码行数:28,代码来源:notifysync-slave-proc.c
示例2: start
static int
start (CcnetProcessor *processor, int argc, char **argv)
{
char *session_token;
USE_PRIV;
if (argc != 1) {
ccnet_processor_send_response (processor, SC_BAD_ARGS, SS_BAD_ARGS, NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
session_token = argv[0];
if (seaf_token_manager_verify_token (seaf->token_mgr,
processor->peer_id,
session_token, NULL) == 0) {
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
processor->state = RECV_ROOT;
priv->dir_queue = g_queue_new ();
register_async_io (processor);
return 0;
} else {
ccnet_processor_send_response (processor,
SC_ACCESS_DENIED, SS_ACCESS_DENIED,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
}
开发者ID:JiYou,项目名称:seafile,代码行数:29,代码来源:recvfs-proc.c
示例3: thread_done
static void
thread_done (void *result)
{
CcnetProcessor *processor = result;
USE_PRIV;
if (processor->delay_shutdown) {
ccnet_processor_done (processor, FALSE);
return;
}
if (strcmp (priv->rsp_code, SC_OK) == 0) {
if (priv->has_branch) {
ccnet_processor_send_response (processor,
SC_OK, SS_OK,
priv->head_id, 41);
} else
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
processor->state = ACCESS_GRANTED;
} else {
ccnet_processor_send_response (processor,
priv->rsp_code, priv->rsp_msg,
NULL, 0);
ccnet_processor_done (processor, FALSE);
}
}
开发者ID:npk,项目名称:seafile,代码行数:26,代码来源:check-tx-slave-proc.c
示例4: computation_finished
static void
computation_finished (CcnetProcessor *processor,
int status,
char *message)
{
USE_PRIV;
g_ptr_array_free (priv->block_ids, TRUE);
priv->block_ids = NULL;
g_message ("Finished computing size of repo %s.\n", priv->repo_id);
/* Store repo size into database.
*/
if (seaf_monitor_set_repo_size (singleton_monitor,
priv->repo_id,
priv->repo_size,
priv->is_accurate,
priv->head) < 0) {
ccnet_processor_send_response (processor,
SC_DB_ERROR, SS_DB_ERROR,
NULL, 0);
ccnet_processor_done (processor, FALSE);
}
ccnet_processor_send_response (processor, SC_FINISHED, SS_FINISHED, NULL, 0);
ccnet_processor_done (processor, TRUE);
}
开发者ID:2bj,项目名称:seafile,代码行数:28,代码来源:repostat-proc.c
示例5: start
static int
start (CcnetProcessor *processor, int argc, char **argv)
{
USE_PRIV;
if (argc != 2 || strlen(argv[0]) != 36 || strlen(argv[1]) != 40) {
ccnet_processor_send_response (processor, SC_BAD_ARGS, SS_BAD_ARGS, NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
if (seaf_monitor_is_repo_size_uptodate (singleton_monitor,
argv[0], argv[1])) {
g_message ("repo size %s is up-to-date.\n", argv[0]);
ccnet_processor_send_response (processor, SC_FINISHED, SS_FINISHED, NULL, 0);
ccnet_processor_done (processor, TRUE);
return 0;
}
memcpy (priv->repo_id, argv[0], 41);
memcpy (priv->head, argv[1], 41);
priv->block_ids = g_ptr_array_new_with_free_func (g_free);
priv->is_accurate = 1;
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
return 0;
}
开发者ID:2bj,项目名称:seafile,代码行数:28,代码来源:repostat-proc.c
示例6: thread_done
static void
thread_done (void *result)
{
CcnetProcessor *processor = result;
USE_PRIV;
if (processor->delay_shutdown) {
ccnet_processor_done (processor, FALSE);
return;
}
if (strcmp (priv->rsp_code, SC_OK) == 0) {
/* Repo is updated, trigger repo size computation. */
if (seaf->monitor_id != NULL &&
(strcmp (seaf->monitor_id, seaf->session->base.id) == 0 ||
ccnet_peer_is_ready (seaf->ccnetrpc_client, seaf->monitor_id)))
{
monitor_compute_repo_size_async_wrapper (seaf->monitor_id,
priv->repo_id,
compute_callback,
NULL);
}
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
ccnet_processor_done (processor, TRUE);
} else {
ccnet_processor_send_response (processor,
priv->rsp_code, priv->rsp_msg,
NULL, 0);
ccnet_processor_done (processor, FALSE);
}
}
开发者ID:V-E-O,项目名称:seafile,代码行数:32,代码来源:recvbranch-proc.c
示例7: put_commit_start
static int
put_commit_start (CcnetProcessor *processor, int argc, char **argv)
{
char *commit_id;
char *session_token;
USE_PRIV;
if (argc != 2) {
ccnet_processor_send_response (processor, SC_BAD_ARGS, SS_BAD_ARGS, NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
session_token = argv[1];
if (seaf_token_manager_verify_token (seaf->token_mgr,
processor->peer_id,
session_token, NULL) < 0) {
ccnet_processor_send_response (processor,
SC_ACCESS_DENIED, SS_ACCESS_DENIED,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
commit_id = argv[0];
memcpy (priv->commit_id, commit_id, 41);
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
return send_commit_ids (processor, commit_id);
}
开发者ID:2bj,项目名称:seafile,代码行数:31,代码来源:putcommit-proc.c
示例8: response_challenge_user
static void response_challenge_user(CcnetProcessor *processor,
char *code, char *code_msg,
char *content, int clen)
{
unsigned char *buf;
int decrypt_len;
if (clen == 0) {
ccnet_warning("Peer %s(%.8s) send bad format challenge\n",
processor->peer->name, processor->peer->id);
ccnet_processor_send_response (
processor, SC_BAD_CHALLENGE, SS_BAD_CHALLENGE, NULL, 0);
ccnet_processor_done(processor, FALSE);
return;
}
buf = private_key_decrypt(processor->session->user_privkey,
(unsigned char *)content, clen, &decrypt_len);
if (decrypt_len < 0) {
ccnet_processor_send_response (
processor, SC_DECRYPT_ERROR, SS_DECRYPT_ERROR, NULL, 0);
ccnet_processor_done(processor, FALSE);
} else
ccnet_processor_send_response (
processor, code, "", (char *)buf, decrypt_len);
g_free(buf);
}
开发者ID:9thsector,项目名称:ccnet,代码行数:27,代码来源:keepalive-proc.c
示例9: send_repo_branch_info
static int
send_repo_branch_info (CcnetProcessor *processor, const char *repo_id,
const char *branch)
{
SeafRepo *repo;
SeafBranch *seaf_branch;
repo = seaf_repo_manager_get_repo (seaf->repo_mgr, repo_id);
if (!repo) {
ccnet_processor_send_response (processor, SC_NO_REPO, SS_NO_REPO,
NULL, 0);
return 0;
}
seaf_branch = seaf_branch_manager_get_branch (seaf->branch_mgr,
repo_id, branch);
if (seaf_branch == NULL) {
ccnet_processor_send_response (processor, SC_NO_BRANCH, SS_NO_BRANCH,
NULL, 0);
return -1;
}
ccnet_processor_send_response (processor, SC_COMMIT_ID, SS_COMMIT_ID,
seaf_branch->commit_id, 41);
seaf_branch_unref (seaf_branch);
return 0;
}
开发者ID:2bj,项目名称:seafile,代码行数:30,代码来源:sync-repo-slave-proc.c
示例10: thread_done
static void
thread_done (void *result)
{
CcnetProcessor *processor = result;
USE_PRIV;
if (strcmp (priv->rsp_code, SC_OK) == 0) {
if (priv->has_branch) {
ccnet_processor_send_response (processor,
SC_OK, SS_OK,
priv->head_id, 41);
} else
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
processor->state = ACCESS_GRANTED;
if (priv->type == CHECK_TX_TYPE_DOWNLOAD)
publish_repo_event (processor, "repo-download-sync");
else if (priv->type == CHECK_TX_TYPE_UPLOAD)
publish_repo_event (processor, "repo-upload-sync");
} else {
ccnet_processor_send_response (processor,
priv->rsp_code, priv->rsp_msg,
NULL, 0);
ccnet_processor_done (processor, FALSE);
}
}
开发者ID:miurahr,项目名称:seafile,代码行数:26,代码来源:check-tx-slave-v3-proc.c
示例11: ccnet_service_proxy_invoke_remote
void
ccnet_service_proxy_invoke_remote (CcnetProcessor *processor,
CcnetPeer *remote,
int argc, char **argv)
{
CcnetServiceStubProc *stub_proc;
ServiceProxyPriv *priv = GET_PRIV(processor);
if (argc < 1) {
ccnet_processor_send_response (processor, SC_BAD_CMD_FMT,
SS_BAD_CMD_FMT, NULL, 0);
ccnet_processor_done (processor, FALSE);
return;
}
priv->name = proc_name_strjoin_n(" ", argc, argv);
stub_proc = CCNET_SERVICE_STUB_PROC (
ccnet_proc_factory_create_master_processor (
processor->session->proc_factory, "service-stub", remote)
);
priv->stub_proc = stub_proc;
ccnet_service_stub_proc_set_proxy_proc (stub_proc, processor);
/* Start can fail if the remote end is not connected. */
if (ccnet_processor_start (CCNET_PROCESSOR(stub_proc), argc, argv) < 0) {
ccnet_processor_send_response (processor, SC_PROC_DEAD, SS_PROC_DEAD,
NULL, 0);
ccnet_processor_done (processor, FALSE);
}
}
开发者ID:9thsector,项目名称:ccnet,代码行数:31,代码来源:service-proxy-proc.c
示例12: process_object_list_done
static void
process_object_list_done (void *data)
{
CcnetProcessor *processor = data;
USE_PRIV;
if (priv->n_needed == 0) {
ccnet_processor_send_response (processor,
SC_OBJ_LIST_SEG, SS_OBJ_LIST_SEG,
NULL, 0);
return;
}
char *buf = g_malloc (priv->n_needed * 40);
char *p;
char *obj_id;
GList *ptr;
p = buf;
for (ptr = priv->needed_objs; ptr; ptr = ptr->next) {
obj_id = ptr->data;
memcpy (p, obj_id, 40);
p += 40;
}
ccnet_processor_send_response (processor,
SC_OBJ_LIST_SEG, SS_OBJ_LIST_SEG,
buf, priv->n_needed * 40);
g_free (buf);
string_list_free (priv->needed_objs);
priv->needed_objs = NULL;
priv->n_needed = 0;
}
开发者ID:285452612,项目名称:seafile,代码行数:33,代码来源:recvfs-v2-proc.c
示例13: start
static int
start (CcnetProcessor *processor, int argc, char **argv)
{
char *session_token;
USE_PRIV;
if (argc != 1) {
ccnet_processor_send_response (processor, SC_BAD_ARGS, SS_BAD_ARGS, NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
session_token = argv[0];
if (seaf_token_manager_verify_token (seaf->token_mgr,
NULL,
processor->peer_id,
session_token, priv->repo_id) == 0) {
ccnet_processor_thread_create (processor,
seaf->job_mgr,
get_repo_info_thread,
get_repo_info_done,
processor);
return 0;
} else {
ccnet_processor_send_response (processor,
SC_ACCESS_DENIED, SS_ACCESS_DENIED,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
}
开发者ID:285452612,项目名称:seafile,代码行数:31,代码来源:recvfs-v2-proc.c
示例14: send_commit
static gboolean
send_commit (CcnetProcessor *processor, char *object_id)
{
char *data;
int len;
ObjectPack *pack = NULL;
int pack_size;
if (seaf_obj_store_read_obj (seaf->commit_mgr->obj_store,
object_id, (void**)&data, &len) < 0) {
g_warning ("Failed to read commit %s.\n", object_id);
goto fail;
}
pack_size = sizeof(ObjectPack) + len;
pack = malloc (pack_size);
memcpy (pack->id, object_id, 41);
memcpy (pack->object, data, len);
ccnet_processor_send_response (processor, SC_OBJECT, SS_OBJECT,
(char *)pack, pack_size);
g_free (data);
free (pack);
return TRUE;
fail:
ccnet_processor_send_response (processor, SC_NOT_FOUND, SS_NOT_FOUND,
object_id, 41);
ccnet_processor_done (processor, FALSE);
return FALSE;
}
开发者ID:Jack-Tsue,项目名称:seafile,代码行数:32,代码来源:putcommit-proc.c
示例15: start
static int
start (CcnetProcessor *processor, int argc, char **argv)
{
USE_PRIV;
if (processor->peer->session_key) {
ccnet_processor_send_response (processor,
SC_ALREADY_HAS_KEY,
SS_ALREADY_HAS_KEY,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
if (argc == 1 && g_strcmp0(argv[0], "--enc-channel") == 0)
priv->encrypt_channel = 1;
else
priv->encrypt_channel = 0;
ccnet_processor_send_response (processor,
SC_SESSION_KEY, SS_SESSION_KEY,
NULL, 0);
return 0;
}
开发者ID:9thsector,项目名称:ccnet,代码行数:25,代码来源:recvsessionkey-v2-proc.c
示例16: receive_keepalive
static void receive_keepalive(CcnetProcessor *processor,
char *code, char *code_msg,
char *content, int clen)
{
CcnetPeer *peer = processor->peer;
if (clen == 0 || content[clen-1] != '\0' || content[clen-2] != '\n')
{
ccnet_processor_send_response (
processor, SC_BAD_KEEPALIVE, SS_BAD_KEEPALIVE, NULL, 0);
ccnet_processor_done (processor, FALSE);
return;
}
parse_key_value_pairs (content, update_from_key_value, peer);
/* ccnet_debug ("[Keepalive] Receive keepalive from %.8s #%s\n", */
/* processor->peer->id, code_msg); */
ccnet_processor_send_response (
processor, code, code_msg, NULL, 0);
/* Peer discovered us, so we try to discover peer too.
* Used in indirect connection vie Relay */
/*
if (peer->net_state == PEER_DOWN && peer->relay_list != NULL) {
if (!peer->keepalive_sending)
start_keepalive (processor->session->proc_factory, peer);
}
*/
}
开发者ID:9thsector,项目名称:ccnet,代码行数:30,代码来源:keepalive-proc.c
示例17: read_done_cb
static void
read_done_cb (OSAsyncResult *res, void *cb_data)
{
CcnetProcessor *processor = cb_data;
USE_PRIV;
if (!res->success) {
g_warning ("[putcommit] Failed to read %s.\n", res->obj_id);
goto bad;
}
send_commit (processor, res->obj_id, res->data, res->len);
seaf_debug ("Send commit %.8s.\n", res->obj_id);
/* Send next commit. */
if (priv->id_list != NULL)
read_and_send_commit (processor);
else {
ccnet_processor_send_response (processor, SC_END, SS_END, NULL, 0);
ccnet_processor_done (processor, TRUE);
}
return;
bad:
ccnet_processor_send_response (processor, SC_NOT_FOUND, SS_NOT_FOUND,
NULL, 0);
ccnet_processor_done (processor, FALSE);
}
开发者ID:AzinmarErus,项目名称:seafile,代码行数:30,代码来源:putcommit-v2-proc.c
示例18: queue_fs_roots
static void
queue_fs_roots (CcnetProcessor *processor, char *content, int clen)
{
USE_PRIV;
char *object_id;
int n_objects;
int i;
if (clen % 41 != 0) {
seaf_warning ("Bad fs root list.\n");
ccnet_processor_send_response (processor, SC_BAD_OL, SS_BAD_OL, NULL, 0);
ccnet_processor_done (processor, FALSE);
return;
}
n_objects = clen/41;
object_id = content;
for (i = 0; i < n_objects; ++i) {
object_id[40] = '\0';
priv->fs_roots = g_list_prepend (priv->fs_roots, g_strdup(object_id));
object_id += 41;
++(priv->n_roots);
}
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
}
开发者ID:yiqifu,项目名称:seafile,代码行数:26,代码来源:recvfs-proc.c
示例19: process_get_block
static void
process_get_block (CcnetProcessor *processor, char *content, int clen)
{
char *space, *block_id;
USE_PRIV;
if (content[clen-1] != '\0') {
ccnet_processor_send_response (processor, SC_BAD_BLK_REQ, SS_BAD_BLK_REQ,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return;
}
space = strchr (content, ' ');
if (!space) {
ccnet_processor_send_response (processor, SC_BAD_BLK_REQ, SS_BAD_BLK_REQ,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return;
}
*space = '\0';
block_id = space + 1;
BlockRequest req;
req.block_idx = atoi(content);
memcpy (req.block_id, block_id, 41);
if (pipewriten (priv->tdata->task_pipe[1], &req, sizeof(BlockRequest)) < 0) {
g_warning ("[put block] failed to write task pipe.\n");
ccnet_processor_done (processor, FALSE);
}
}
开发者ID:Jack-Tsue,项目名称:seafile,代码行数:31,代码来源:putblock-v2-proc.c
示例20: recv_commit_start
static int
recv_commit_start (CcnetProcessor *processor, int argc, char **argv)
{
USE_PRIV;
char *session_token;
if (argc != 2) {
ccnet_processor_send_response (processor, SC_BAD_ARGS, SS_BAD_ARGS, NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
session_token = argv[1];
if (seaf_token_manager_verify_token (seaf->token_mgr,
processor->peer_id,
session_token, NULL) == 0) {
ccnet_processor_send_response (processor, SC_OK, SS_OK, NULL, 0);
processor->state = RECV_OBJECT;
priv->writer_id =
seaf_obj_store_register_async_write (seaf->commit_mgr->obj_store,
write_done_cb,
processor);
priv->registered = TRUE;
return 0;
} else {
ccnet_processor_send_response (processor,
SC_ACCESS_DENIED, SS_ACCESS_DENIED,
NULL, 0);
ccnet_processor_done (processor, FALSE);
return -1;
}
}
开发者ID:AzinmarErus,项目名称:seafile,代码行数:32,代码来源:recvcommit-v3-proc.c
注:本文中的ccnet_processor_send_response函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论