code: func NewConnector(svrAddr string, opts ...ClientOption) IOSession {
  	sopts := &clientOptions{}
  	for _, opt := range opts {
  		opt(sopts)
  	}
  	sopts.adjust()
  
  	return &connector{
  		addr:  svrAddr,
  		in:    NewByteBuf(sopts.readBufSize),
  		out:   NewByteBuf(sopts.writeBufSize),
  		opts:  sopts,
  		attrs: make(map[string]interface{}),
  	}
  }
docs: // NewConnector create a new connector with opts