struct tcp_sock继承自struct inet_connection_sock inet_conn,inet_connection_sock继承自struct inet_sock,struct inet_sock继承自struct sock;
1.上述四个结构的关系具有十足的面向对象的特征,struct是基类,通过层层继承,实现了类的复用;
2.内核中网络相关的很多函数,参数往往都是struct sock,函数内部依照不同的业务逻辑,将struct sock转换为不同的业务结构;
这样做的好处:
1.简化接口的设计复杂度;
2.使用基类作为参数,十分类似于面向对象中的多态特性,能够有效的增强接口的稳定性、提升扩展性。
展开