diff --git a/src/sf_proto.h b/src/sf_proto.h index eda1fc6..fae4055 100644 --- a/src/sf_proto.h +++ b/src/sf_proto.h @@ -85,6 +85,9 @@ int2buff((resp_header).body_len, (proto_header)->body_len);\ } while (0) +#define SF_PROTO_RESP_BODY(task) \ + (task->data + sizeof(SFCommonProtoHeader)) + typedef struct sf_common_proto_header { unsigned char magic[4]; //magic number @@ -119,6 +122,10 @@ typedef struct sf_proto_get_server_resp { char padding[2]; } SFProtoGetServerResp; +typedef struct sf_proto_empty_body_req { + char nothing[0]; +} SFProtoEmptyBodyReq; + typedef struct sf_proto_idempotency_additional_header { char req_id[8]; } SFProtoIdempotencyAdditionalHeader; diff --git a/src/sf_types.h b/src/sf_types.h index 480f2ef..239558b 100644 --- a/src/sf_types.h +++ b/src/sf_types.h @@ -150,7 +150,7 @@ typedef struct sf_slow_log_context { typedef enum sf_data_read_rule { sf_data_read_rule_any_available, sf_data_read_rule_slave_first, - sf_data_read_rule_master_only, + sf_data_read_rule_master_only } SFDataReadRule; typedef enum sf_net_retry_interval_mode { @@ -198,6 +198,11 @@ typedef struct sf_key_value_array { int alloc; } SFKeyValueArray; +typedef enum sf_server_group_index_type { + sf_server_group_index_type_cluster = 1, + sf_server_group_index_type_service +} SFServerGroupIndexType; + typedef struct sf_cluster_config { FCServerConfig server_cfg; unsigned char md5_digest[16];