go tcp连接_聊聊canal-go的SimpleCanalConnector

本文主要研究一下canal-go的SimpleCanalConnector

5552555f99b9e5805606b9f62b96fd3d.png

SimpleCanalConnector

canal-go-v1.0.7/client/simple_canal_connector.go

type SimpleCanalConnector struct {    Address           string    Port              int    UserName          string    PassWord          string    SoTime            int32    IdleTimeOut       int32    ClientIdentity    pb.ClientIdentity    Connected         bool    Running           bool    Filter            string    RollbackOnConnect bool    LazyParseEntry    bool}
  • SimpleCanalConnector定义了Address、Port、UserName、PassWord、SoTime、IdleTimeOut、ClientIdentity、Connected、Running、Filter、RollbackOnConnect、LazyParseEntry属性

NewSimpleCanalConnector

canal-go-v1.0.7/client/simple_canal_connector.go

//NewSimpleCanalConnector 创建SimpleCanalConnector实例func NewSimpleCanalConnector(address string, port int, username string, password string, destination string, soTimeOut int32, idleTimeOut int32) *SimpleCanalConnector {    s := &SimpleCanalConnector{        Address:           address,        Port:              port,        UserName:          username,        PassWord:          password,        ClientIdentity:    pb.ClientIdentity{Destination: destination, ClientId: 1001},        SoTime:            soTimeOut,        IdleTimeOut:       idleTimeOut,        RollbackOnConnect: true,    }    return s​}
  • NewSimpleCanalConnector方法创建了SimpleCanalConnector实例

Connect

canal-go-v1.0.7/client/simple_canal_connector.go

//Connect 连接Canal-serverfunc (c *SimpleCanalConnector) Connect() error {    if c.Connected {        return nil    }​    if c.Running {        return nil    }​    err := c.doConnect()    if err != nil {        return err    }    if c.Filter != "" {        c.Subscribe(c.Filter)    }​    if c.RollbackOnConnect {        c.waitClientRunning()​        c.RollBack(0)    }​    c.Connected = true    return nil​}
  • Connect方法主要执行c.doConnect()、c.Subscribe(c.Filter)方法,若Rollback
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值