Skip to main content

Transport Configuration

Summary

This page documents Velox transport configuration. TvxTransport provides shared host, authentication, OAuth, TLS, key, timeout, logging, and runtime state. Protocol descendants add FTP, SFTP, LAN, HTTP, IMAP, POP, SMTP, MSMQ, and IBM MQ settings. fptAS2 exists in the shared enum, but no AS2 transport class was found in Classes\Transports during this pass.

Source Code Locations

  • Classes\Transports\vxTransport.pas:42 - base TvxTransport.
  • Classes\Transports\vxTransport.pas:476 - base transport defaults.
  • Classes\Transports\vxTransportFTP.pas:23 - FTP base settings.
  • Classes\Transports\vxTransportFTPIn.pas:22 - FTP inbound settings.
  • Classes\Transports\vxTransportFTPOut.pas:22 - FTP outbound settings.
  • Classes\Transports\vxTransportSFTP.pas:40 - SFTP base settings.
  • Classes\Transports\vxTransportSFTPIn.pas:33 - SFTP inbound settings.
  • Classes\Transports\vxTransportSFTPOut.pas:30 - SFTP outbound settings.
  • Classes\Transports\vxTransportLAN.pas:23 - LAN base settings.
  • Classes\Transports\vxTransportLANIn.pas:25 - LAN inbound settings.
  • Classes\Transports\vxTransportLANOut.pas:20 - LAN outbound settings.
  • Classes\Transports\vxTransportHTTP.pas:22 - HTTP base settings.
  • Classes\Transports\vxTransportHTTPIn.pas:22 - HTTP inbound settings.
  • Classes\Transports\vxTransportHTTPOut.pas:20 - HTTP outbound settings.
  • Classes\Transports\vxTransportIMAP.pas:35 - IMAP inbound settings.
  • Classes\Transports\vxTransportPOP.pas:35 - POP inbound settings.
  • Classes\Transports\vxTransportSMTP.pas:35 - SMTP outbound settings.
  • Classes\Transports\vxTransportMSMQ.pas:21 - MSMQ base settings.
  • Classes\Transports\vxTransportMSMQIn.pas:20 - MSMQ inbound settings.
  • Classes\Transports\vxTransportMSMQOut.pas:23 - MSMQ outbound settings.
  • Classes\Transports\vxTransportIBMMQ.pas:21 - IBM MQ base settings.
  • Classes\Transports\vxTransportIBMMQIn.pas:20 - IBM MQ inbound settings.
  • Classes\Transports\vxTransportIBMMQOut.pas:20 - IBM MQ outbound settings.
  • Forms\Transports\frmTransport*.pas - transport setup forms.

Important Classes

  • TvxTransport
  • TvxTransportLink
  • TvxTransportFTP, TvxTransportFTPIn, TvxTransportFTPOut
  • TvxTransportSFTP, TvxTransportSFTPIn, TvxTransportSFTPOut
  • TvxTransportLAN, TvxTransportLANIn, TvxTransportLANOut
  • TvxTransportHTTP, TvxTransportHTTPIn, TvxTransportHTTPOut
  • TvxTransportIMAP, TvxTransportPOP, TvxTransportSMTP
  • TvxTransportMSMQ, TvxTransportMSMQIn, TvxTransportMSMQOut
  • TvxTransportIBMMQ, TvxTransportIBMMQIn, TvxTransportIBMMQOut

Important Forms

  • TfrmTransportFTPIn, TfrmTransportFTPOut
  • TfrmTransportSFTPIn, TfrmTransportSFTPOut
  • TfrmTransportLANIn, TfrmTransportLANOut
  • TfrmTransportHTTPIn, TfrmTransportHTTPOut
  • TfrmTransportIMAP, TfrmTransportPOP, TfrmTransportSMTP
  • TfrmTransportMSMQIn, TfrmTransportMSMQOut
  • TfrmTransportIBMMQIn, TfrmTransportIBMMQOut
  • TManageTransports, TManageTransportLogs
  • TSSLSettings

Important Services

  • VeloxService executes inbound/outbound transports and persists transport logs.
  • VeloxAPIService can execute REST flows that use HTTP/API transport behaviour through flow configuration.
  • Database table: VX_TRANSPORT.
  • Transport logs: VX_LOG_TRANSPORT and related link tables in TvxLogTransport.
  • File connections and file definitions are assigned at runtime from flows/data definitions.
  • Transport retry settings also depend on TvxSetup.TransportMaxAttempts and TvxSetup.TransportAttemptInterval.

Base Transport Identity

SettingValid valuesDefaultImpact
TableInternal stringVX_TRANSPORTSelects transport table.
ModuleDescriptionProtocol-specificSet by descendant, for example FTP InDisplay/module metadata.
ModuleNameStringNew {ModuleDescription} by descendantUser-visible transport name.

Base Transport Connection and Auth Settings

SettingValid valuesDefaultImpact
HostString with tags processed at runtime''Host, URL, or server depending on protocol.
PortInteger0; protocol descendants override (21, 22, 110, etc.)Network port.
AuthTypeTvxAuthTypefatNoneAuthentication mode.
InProcessAuthBooleanFalseIndicates auth should occur in process. Exact call sites are protocol-specific.
UsernameString with tags processed at runtime''User/login name.
PasswordEncrypted persisted string; runtime getter decrypts and tags are processed''Password/token/secret depending on auth type.
ClientIdStringNot explicitly assigned in TvxTransport.New; Delphi string default is ''OAuth client id.
TenantStringNot explicitly assigned in TvxTransport.New; Delphi string default is ''OAuth tenant.
ScopeStringNot explicitly assigned in TvxTransport.New; Delphi string default is ''OAuth scope.
AuthURLStringNot explicitly assigned in TvxTransport.New; Delphi string default is ''OAuth authorization URL.
TokenURLStringNot explicitly assigned in TvxTransport.New; Delphi string default is ''OAuth token URL.
DirectionTvxDirectionTypetdInbound; descendants override getter where neededInbound/outbound classification used by import, UI, service, and log descriptions.

Base Transport SSL, TLS, and Key Settings

SettingValid valuesDefaultImpact
SSLRootCertificateFile path/string''Root certificate file/reference.
SSLClientCertFileFile path/string''Client certificate file.
SSLClientKeyFileFile path/string''Client key file.
SSLClientKeyPasswordEncrypted persisted string; runtime getter decrypts''Client key password.
SSLClientTypeTvxSSLClientTypefstAuto; FTP overrides to fstNoSSLSSL/TLS version. Old aliases migrate during transfer.
SSLCertDepthInteger3Certificate verification depth.
SSLVerifyPeerBooleanTrueEnables peer certificate verification.
SSLFailNoPeerBooleanTrueFails when no peer certificate is supplied where required.
SSLVerifyOnceBooleanTrueVerifies peer once per connection/session.
SSLTLSTypeTvxTLSTypefttImplicitTLSTLS mode.
PrivateKeyString''Private key content/reference used by SFTP/OAuth/key auth paths.
PrivateKeyTypeTScAsymmetricAlgorithm, public runtime settingaaECPrivate key generation algorithm. Not published in TvxTransport.
PrivateKeySizeInteger, public runtime setting2048Private key generation size. Not published.
ECNameTScECName, public runtime settingx25519Elliptic curve name for key generation. Not published.
PublicKeyFile, PublicKeyFile2, PrivateKeyFile, PrivateKeyFile2File names, public runtime settingsDerived from generated key namePublic/private key file names in app data certificate folders.

Base Transport Timeout Settings

SettingValid valuesDefaultImpact
ConnectTimeOutInteger15Connect timeout. HTTP code passes it to TvxHTTP.ConnectTimeout; property setter there multiplies by 1000.
ReadTimeOutInteger0; MSMQ inbound overrides to 1Read timeout. Protocol-specific units depend on target library.

Base Transport Runtime Settings

These are public runtime settings, not all persisted as transport module properties.

SettingValid valuesDefault/resetImpact
FileDefTvxFileDef referenceAssigned by flow/runtimeFile definition used by transport.
FileConTvxFileCon referenceCreated/assigned by runtimeFile connection used for file read/write locations.
LocalsTvxThreadListAssigned by flow/runtimeRuntime variables/tags.
TagDataTStringListCreated in constructorData/local tags saved into transport log for later outbound sends.
CurrentFilenameString'' on resetCurrent file being transported.
LogTransport, LogFileLog object referencesAssigned by runtimeTransport and file log linkage.
ActionFID, ActionNameFlow reference valuesAssigned by flow/runtimeLinks logs and notifications to the flow.
AdminEmail, NotifyEmailStringsAssigned from flow/runtimeNotification recipients.
SaveLogStatuses, SendLogStatusesTvxLogStatusTypeSetAssigned from flow/runtimeControls log save/send behaviour.
LogHTTPComms, LogTransportCommsBooleanAssigned from flow/runtimeControls comms logging.
InterceptTvxInterceptCreated lazilyCaptures protocol traffic where supported.

TvxTransportLink links inbound transports to flows.

SettingValid valuesDefaultImpact
TransportFIDSGUID stringEmptyGuidLinked transport module.
TransportNameString''Display name of linked transport.
TransportClassRegistered class name''Transport class used to instantiate the linked transport.

FTP Settings

FTP Base

SettingValid valuesDefaultImpact
PortInteger21FTP/FTPS port.
SSLClientTypeTvxSSLClientTypefstNoSSLFTP defaults to no SSL.
PathRemote path string''Remote directory; normalized with web path delimiter before save.
TransferTypeTIdFTPTransferType: ftASCII, ftBinaryftBinaryFTP transfer mode.
ProtectDataPortBooleanTrueFTPS data port protection.
UseCCCBooleanFalseClear Command Channel option for FTPS.
UsePassiveBooleanTruePassive FTP mode.
MoveToFolderNameRemote path string''Destination for move-after-receive/send operations; normalized before save.
ControlTimeOutInteger15FTP control timeout.
TransferTimeOutInteger0FTP transfer timeout.

FTP In

SettingValid valuesDefaultImpact
AfterReceivingTvxFTPAfterReceivingTypebarDeleteDeletes, leaves, or moves remote file after download.
UseLISTBooleanFalseUses FTP LIST behaviour for file listing where implemented.

FTP Out

SettingValid valuesDefaultImpact
AfterSendingMoveBooleanFalseMoves remote file after send when enabled.
AfterSendingIndicatorBooleanFalseCreates/sends indicator file after upload.
IndicatorFileNameString''Indicator file name; tags may be processed in send logic.
UseTemporaryFileNameBooleanFalseSends using temporary file name before final name.

SFTP Settings

SFTP Base

SettingValid valuesDefaultImpact
PortInteger22SFTP/SSH port.
PathRemote path string''Remote directory; normalized with web path delimiter before save.
MoveToFolderNameRemote path string''Destination for move-after-receive/send operations.
SFTPVersionTScSFTPVersion; display strings include Auto and SFTP v1-v6vSFTP0 (Auto)SFTP protocol version negotiation preference.
SFTPAuthTypeTvxSFTPAuthTypefsaPasswordPassword vs private key auth.
ControlTimeOutInteger15SFTP/SSH control timeout.
TransferTimeOutInteger0SFTP transfer timeout.

SFTP In

SettingValid valuesDefaultImpact
AfterReceivingTvxSFTPAfterReceivingTypebasfDeleteDeletes, leaves, or moves remote file after download.

SFTP Out

SettingValid valuesDefaultImpact
AfterSendingMoveBooleanFalseMoves remote file after send when enabled.
AfterSendingIndicatorBooleanFalseCreates/sends indicator file after upload.
IndicatorFileNameString''Indicator file name.
UseTemporaryFileNameBooleanFalseSends using temporary file name before final name.

LAN Settings

LAN Base

SettingValid valuesDefaultImpact
UNCPathFolder/UNC path with <DEFAULTDIR> and tags supportedNot explicitly assigned in TvxTransportLAN.New; Delphi string default is ''Local/network folder used by LAN transport. Normalized before save.

LAN In

SettingValid valuesDefaultImpact
AfterReceivingTvxLANAfterReceivingTypebalaDeleteDeletes or leaves file in folder after copy/download.
WaitForInteger0Wait setting used by LAN inbound file handling. Exact unit is not explicit in this class.

LAN Out

TvxTransportLANOut adds no published settings beyond LAN base and TvxTransport.

HTTP Settings

HTTP Base

SettingValid valuesDefaultImpact
HeadersTStrings; code treats names as header names and values/content metadata depending on pathEmpty listCustom HTTP headers; values are tag-processed before send/receive.
FollowLocationBooleanTrueComment says "not currently used"; InitialiseHTTP has assignment commented out.
HandleRedirectsBooleanTrueControls redirect handling in HTTP client where supported.
ProtocolVersionTIdHTTPProtocolVersion: pv1_0, pv1_1pv1_1HTTP protocol version.

HTTP In

SettingValid valuesDefaultImpact
AfterReceivingTvxHTTPAfterReceivingTypebahtNothingHTTP inbound post-receive behaviour; enum currently only has bahtNothing.
ReceiveMethodTvxHTTPReceiveMethodTypebrmGetHTTP method used to receive/download.

HTTP Out

SettingValid valuesDefaultImpact
SendMethodTvxHTTPSendMethodTypebsmPostHTTP method used to upload/send.
FormEncodingTvxHTTPFormEncodingTypefeNoneControls body/form encoding.
ContentFieldNameStringfileMultipart/form file field name; code falls back to file if blank.

Email and Mailbox Transport Settings

IMAP In

SettingValid valuesDefaultImpact
PortIntegerNot explicitly assigned in TvxTransportIMAP.New; base default 0 remains unless UI/runtime sets itIMAP server port.
MailboxString''IMAP mailbox/folder.
AfterReceivingTvxIMAPAfterReceivingTypebaimDeleteMarks read, moves, deletes, or does nothing after download.
MoveToMailBoxString''Mailbox used when AfterReceiving = baimMove.
UseSASLBooleanFalseEnables SASL auth path.
FromEmailStringNot explicitly assigned in New; Delphi default is ''Email sender filter.
ToEmailStringNot explicitly assigned in New; Delphi default is ''Email recipient filter.

POP In

SettingValid valuesDefaultImpact
PortInteger110POP server port.
AfterReceivingTvxPOPAfterReceivingTypebapoDeleteDeletes or leaves mail on server after download.
UseSASLBooleanFalseEnables SASL auth path.

SMTP Out

SettingValid valuesDefaultImpact
ToEmailString with tags''Message recipients.
CcEmailString with tags''CC recipients.
BccEmailString with tags''BCC recipients.
SubjectString with tags''Message subject.
ReadReceiptBooleanFalseRequests read receipt.
LoadAttachmentToBodyBooleanFalseLoads attachment content into text body.
LoadAttachmentToHTMLBodyBooleanFalseLoads attachment content into HTML body.
BodyTextString''Text body.
BodyHTMLString''HTML body.

MSMQ Settings

MSMQ Base

SettingValid valuesDefaultImpact
VisibilityTvxMSMQVisibilityTypefqvPrivatePrivate vs public queue format.
QueueNameString''Queue name.
DeliveryTypeTvxMSMQDeliveryTypefdtExpressMSMQ delivery mode.
UseTransactionBooleanFalseUses MSMQ transactions.
UseDirectFormatNameBooleanFalseUses direct format names.
DirectFormatTypeTvxMSMQDirectFormatTypefdfOSDirect format type.
AuthenticateBooleanFalseMSMQ authentication flag.

MSMQ In

SettingValid valuesDefaultImpact
AfterReceivingTvxMSMQAfterReceivingTypebamsNothingPost-receive behaviour; enum currently only has bamsNothing.
ReadTimeOutInteger1Receive timeout. Code comment says future 0 may mean unlimited and allow monitor trigger behaviour.

MSMQ Out

TvxTransportMSMQOut adds no published settings beyond MSMQ base and TvxTransport.

IBM MQ Settings

IBM MQ Base

SettingValid valuesDefaultImpact
ConnectionManagerString''IBM MQ connection manager.
QueueNameString''Queue name.
ChannelNameString''Channel name.

IBM MQ In

SettingValid valuesDefaultImpact
AfterReceivingTvxIBMMQAfterReceivingTypebaibNothingPost-receive behaviour; enum currently only has baibNothing.
ReceiveBufferLengthInteger32768Buffer size for receiving message data.

IBM MQ Out

TvxTransportIBMMQOut adds no published settings beyond IBM MQ base and TvxTransport.

AS2 Status

TvxTransportType includes fptAS2, and display strings include AS2. No vxTransportAS2*.pas class was found under Classes\Transports during this pass, and no AS2 setup form was found under Forms\Transports. Behaviour and settings are therefore unclear from the current inspected source.

Persistence Notes

  • TvxTransport.BeforeAddModuleEvent and BeforeSaveModuleEvent persist derived DIRECTION and DESCRIPTION columns.
  • FTP and SFTP path fields are normalized before save rather than in setters so the Designer edit controls do not change while the user is editing.
  • Password and SSL client key password are encrypted on assignment outside component loading.
  • OAuth configuration calls FOAuthAuthenticator.Configure with auth type, tenant, client id, password/private key/scope, auth URL, token URL, and protocol scope.

Unclear Areas

  • Some timeout units depend on third-party protocol libraries and are not explicitly documented in the inspected classes.
  • FollowLocation is a published HTTP setting, but source comments and commented-out assignment indicate it is not currently implemented.
  • InProcessAuth is persisted on all transports, but exact protocol-specific behaviour was not fully traced in this pass.