/** * Header: | magic(4) | payloadLen(4) | * * Request * Payload: | opcount(4) | repeat Cmd | * Cmd: | OP(1) | argc(4) | repeat Arg | * Arg: | arglen(4) | arg | * * Response * Payload: | opcount(4) | repeat Rsp | * Rsp: | OP(1) | status(1) | datalen(4) | data | */ kvstore层,先解析,再执行,最后构建返回体。 一个是半包问题,没有处理。 另一个是感觉协议结构有点麻烦,
40 lines
664 B
Makefile
40 lines
664 B
Makefile
|
|
CC = gcc
|
|
FLAGS = -I ./NtyCo/core/ -L ./NtyCo/ -lntyco -lpthread -luring -ldl
|
|
SRCS = kvstore.c ntyco.c proactor.c reactor.c kvs_array.c kvs_rbtree.c kvs_hash.c kvs_rw_tools.c
|
|
TESTCASE_SRCS = testcase.c
|
|
TARGET = kvstore
|
|
SUBDIR = ./NtyCo/
|
|
TESTCASE = testcase
|
|
TESTCASE2 = testcase2
|
|
TESTCASE2_SRCS = testcase.c
|
|
|
|
|
|
OBJS = $(SRCS:.c=.o)
|
|
|
|
|
|
all: $(SUBDIR) $(TARGET) $(TESTCASE) $(TESTCASE2)
|
|
|
|
$(SUBDIR): ECHO
|
|
make -C $@
|
|
|
|
ECHO:
|
|
@echo $(SUBDIR)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(CC) -o $@ $^ $(FLAGS)
|
|
|
|
$(TESTCASE): $(TESTCASE_SRCS)
|
|
$(CC) -o $@ $^
|
|
|
|
$(TESTCASE2): $(TESTCASE2_SRCS)
|
|
$(CC) -o $@ $^
|
|
|
|
%.o: %.c
|
|
$(CC) $(FLAGS) -c $^ -o $@
|
|
|
|
clean:
|
|
rm -rf $(OBJS) $(TARGET) $(TESTCASE)
|
|
|
|
|