func (this *TCPConfig) Build() (*loader.TypedSettings, error) { config := new(tcp.Config) if this.ConnectionReuse != nil { config.ConnectionReuse = &tcp.ConnectionReuse{ Enable: *this.ConnectionReuse, } } if len(this.HeaderConfig) > 0 { headerConfig, _, err := tcpHeaderLoader.Load(this.HeaderConfig) if err != nil { return nil, errors.New("TCP|Config: Failed to parse header config: " + err.Error()) } ts, err := headerConfig.(Buildable).Build() if err != nil { return nil, errors.New("Failed to get TCP authenticator config: " + err.Error()) } config.HeaderSettings = ts } return loader.NewTypedSettings(config), nil }
func (v *TCPConfig) Build() (*serial.TypedMessage, error) { config := new(tcp.Config) if v.ConnectionReuse != nil { config.ConnectionReuse = &tcp.ConnectionReuse{ Enable: *v.ConnectionReuse, } } if len(v.HeaderConfig) > 0 { headerConfig, _, err := tcpHeaderLoader.Load(v.HeaderConfig) if err != nil { return nil, errors.Base(err).Message("Invalid TCP header config.") } ts, err := headerConfig.(Buildable).Build() if err != nil { return nil, errors.Base(err).Message("Invalid TCP header config.") } config.HeaderSettings = ts } return serial.ToTypedMessage(config), nil }