TSlaveData is a TObject descendant used to represent sender, receiver, and user-defined information for a tunnel server service thread. TSlaveData instances are created when a tunnel server accepts a new connection in TIdTunnelMaster.DoConnect, and are stored in the TIdPeerThread.Data property for the new connection.
UserData can be used to stored any TObject descendant that has significance to the service thread for the tunnel server connection.