wangzhengquan
2020-07-20 37989e0300c20cd65a4d4a3c49eeaea2122ddf9e
update
5个文件已删除
7个文件已修改
30 ■■■■ 已修改文件
queue/libshm_queue.a 补丁 | 查看 | 原始文档 | blame | 历史
queue/logger_factory.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
queue/mod_socket.c 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
queue/shm_socket.c 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test/communication 补丁 | 查看 | 原始文档 | blame | 历史
test2/pub 补丁 | 查看 | 原始文档 | blame | 历史
test2/pub_sub 补丁 | 查看 | 原始文档 | blame | 历史
test2/req_rep 补丁 | 查看 | 原始文档 | blame | 历史
test2/test0.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test2/test1.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test2/test2.txt 补丁 | 查看 | 原始文档 | blame | 历史
test2/test3.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
queue/libshm_queue.a
Binary files differ
queue/logger_factory.h
@@ -7,7 +7,7 @@
    static Logger getLogger() {
//ERROR ALL
        static Logger logger(Logger::ALL);
        static Logger logger(Logger::ERROR);
        return logger;
    }
};
queue/mod_socket.c
@@ -74,6 +74,7 @@
        socket->recvQueue->push(entry);
        // shm_free(recvbuf);
    }
    free(_socket);
    shm_close_socket(client_socket);
    return NULL;
@@ -84,6 +85,7 @@
    shm_socket_t *client_socket;
    pthread_t tid;
    while(socket->shm_socket->status == SHM_CONN_LISTEN) {
        //接受客户端的连接请求
        client_socket = shm_accept(socket->shm_socket);
        
        mod_socket_t *arg = (mod_socket_t *)malloc(sizeof(mod_socket_t));
@@ -152,38 +154,37 @@
int mod_recv(void * _socket, void **buf, int *size) {
    mod_socket_t * socket = (mod_socket_t *) _socket;
    mod_entry_t entry;
    int rv;
    if(socket->is_server ) {
        switch(socket->mod) {
            case REQ_REP:
    logger.debug("REQ_REP mod_recv before");
logger.debug("REQ_REP mod_recv before");
                SemUtil::dec(socket->slots);
                rv = socket->recvQueue->pop(entry);
                socket->recvQueue->pop(entry);
                *buf = entry.buf;
                *size = entry.size;
                socket->client_socket = entry.client_socket;
                SemUtil::inc(socket->items);
logger.debug("REQ_REP mod_recv after");
                break;
            case PUB_SUB:
                rv = 0;
                break;
            case SURVEY:
            default:
                rv = socket->recvQueue->pop(entry);
                socket->recvQueue->pop(entry);
                *buf = entry.buf;
                *size = entry.size;
        }
        return rv;
        }
        return 0;
    }
    else {
logger.debug("mod_recv before");
        rv = shm_recv(socket->shm_socket, buf, size);
        shm_recv(socket->shm_socket, buf, size);
logger.debug("mod_recv after");
        return rv;
        return 0;
    }
    return -1;
queue/shm_socket.c
@@ -112,10 +112,10 @@
    socket->queue = new SHMQueue<shm_msg_t>(socket->port, 16);
    socket->acceptQueue = new LockFreeQueue<shm_msg_t, DM_Allocator>(16);
    socket->clientSocketMap = new std::map<int, shm_socket_t* >;
    socket->status = SHM_CONN_LISTEN;
    pthread_create(&(socket->dispatch_thread), NULL, _server_run_msg_rev , (void *)socket);
    socket->status = SHM_CONN_LISTEN;
    return 0;
}
test/communication
Binary files differ
test2/pub
Binary files differ
test2/pub_sub
Binary files differ
test2/req_rep
Binary files differ
test2/test0.txt
File was deleted
test2/test1.txt
File was deleted
test2/test2.txt
test2/test3.txt
File was deleted