anet.c — 网络抽象

源文件:src/anet.c · 共 813 行 C 代码

模块职责

BSD socket 封装:bind/listen/accept/non-blocking。

文件头注释

/* anet.c -- Basic TCP socket stuff made a bit less boring
 *
 * Copyright (c) 2006-Present, Redis Ltd.
 * All rights reserved.
 *
 * Licensed under your choice of (a) the Redis Source Available License 2.0
 * (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the
 * GNU Affero General Public License v3 (AGPLv3).
 */

主要数据结构与函数

  • 数据结构:见 src/anet.h 同名头文件
  • 关键函数:通过 grep -nE '^(void|int|robj\*|sds|list|dict|client|server)' src/anet.c 检索

阅读路径建议

  1. 先看 anet.h 头文件了解对外接口
  2. 再读本文件顶部 #include 列表确认依赖
  3. ^[a-z_]+Init\( 类入口函数作为切入点