初探MySQL网络处理部分

   在MySQL的源码中,mysql_com.h和violite.h中都有定义网络处理的结构,而且从表面上看好像是互相嵌套的,但应该里面的几个宏在发挥作作用,现在还没有深入不是特别了解。

在mysql_com.h中入下:

struct st_vio;

typedef struct st_vio Vio;

 

typedef struct st_net

{

#if !defined(CHECK_EMBEDDED_DIFFERENCES) || !defined(EMBeDDED_LIBRARY)//由于编辑器跟踪代码不方便,追踪进去

Vio *vio;

.....

...

}NET;

 

在violite.h中定义入下:

struct st_vio

{

.......

.......

 

#ifdef HAVE_SMEM

....

....

NET *net;

#endif//HAVE_SMEM

};

 

这两个头文件之间到底谁被使用了呢?它们之间又存在什么关系。

而在st_vio结构体中有几个回调函数是在viosocket.c中被实现的。当初为什么不在violite.c中实现呢。而violite.c中代码的实现又是如何的。

 

在看viosocket.c中的实现,已就是对几个简单的socket函数进行了封装。所以阿,写代码主要是有思想,同样的几个函数,不同的人使用效果不一样。当然这是需要经验的积累的。继续学习中。。。

 

现阶段目标:和MySQL源码混过眼熟

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值