
#include <stdlib.h>#include <string.h>#include "vipl_priv.h"Go to the source code of this file.
Functions | |
| VIP_ENTRY_POINT VIP_RETURN | VipConnectRequest (VIP_VI_HANDLE ViHandle, VIP_NET_ADDRESS *LocalAddr, VIP_NET_ADDRESS *RemoteAddr, VIP_ULONG Timeout, VIP_VI_ATTRIBUTES *RemoteViAttribs) |
Definition in file vipconnectrequest.c.
|
||||||||||||||||||||||||
|
VipConnectRequest() requests that a connection be established between the local VI endpoint and a remote endpoint. This function is called on the client side of the client/server connection model. The user specifies a local and remote network address for the connection. Only the remote network address is used by the server to match to a VipConnectWait(). When a connection is successfully established, the local address is bound to the local VI endpoint, and the attributes of the remote endpoint are returned to the caller. The attributes of the remote endpoint allow the caller to determine whether the indicated RDMA operations can be executed on the resulting connection. If the remote end rejects the connection explicitly by calling VipConnectReject(), a rejection error is returned. If a connection cannot be established before the specified Timeout period, a timeout error is returned. Specifying a timeout value of zero is invalid and will result in an immediate VIP_INVALID_PARAMETER error. If a VipConnectAccept() or the VipConnectReject() response is not returned within the specified timeout period (including a non-functional server or interconnect), VIP_TIMEOUT is returned after the timeout period expires. If the server is responding but is not waiting for a connection that matches the discriminator specified in RemoteAddr, or is not in the right state to handle connection requests, a VIP_NO_MATCH error is returned. For Reliable Delivery and Reliable Reception, the VI transitions to the Error State and any pending receive descriptors are marked as flushed. If the host portion of the LocalAddr parameter does not match the local NIC address (the LocalNicAddress field of the NicAttributes structure), then a VIP_INVALID_PARAMETER error is returned.
Definition at line 87 of file vipconnectrequest.c. References VIP_PACKET_CONN_LIST::clt_conn_ptr, VIP_PACKET_CONN_LIST::clt_seq_num, VIP_SEND_REQ::dest_gm_id, VIP_SEND_REQ::dest_port_id, VIP_NET_ADDRESS::DiscriminatorLen, VIP_VI_ATTRIBUTES::EnableRdmaRead, VIP_CONN::event, VIP_GM::gm_port, VIP_PACKET_CONN_LIST::gm_unique_id, VIP_CONN::handle, VIP_NET_ADDRESS::HostAddress, VIP_NET_ADDRESS::HostAddressLen, VIP_NIC::index, VIP_CONN::locale_disc_len, VIP_CONN::locale_net_addr, VIP_NIC::lock, VIP_GM::lock, VIP_GM::mac_address, VIP_VI_ATTRIBUTES::MaxTransferSize, VIP_PACKET_CONN_ACK::net_local_nic_index, VIP_PACKET_CONN_ACK::net_local_vi_index, VIP_SEND_REQ::ptr, VIP_VI_ATTRIBUTES::QoS, VIP_VI_ATTRIBUTES::ReliabilityLevel, VIP_CONN::remote_disc_len, VIP_CONN::remote_gm_id, VIP_CONN::remote_net_addr, VIP_CONN::remote_port_id, VIP_CONN::remote_vi_attribs, VIP_HANDLE::seq_num, VIP_PACKET_CONN_ACK::srv_conn_ptr, VIP_PACKET_CONN_ACK::srv_seq_num, VIP_PACKET_CONN_ACK::status, VIP_CONN::status, VIP_PACKET_CONN_ACK::type, VIP_SEND_REQ::type, VIP_PACKET_CONN_LIST::type, VIP_CONN::type, VI_GM_MAC_ADDRESS_LEN, VI_GM_MAX_DISCRIMINATOR_LEN, VI_GM_PORT_CONN_MANAGER, VIP_ABORT, vip_addr2addrbits(), vip_allocate_handle(), vip_allocate_packet(), VIP_ASSERT, VIP_CONN_ACK_PKT, VIP_CONN_LIST_REQ_PKT, VIP_NIC::vip_conn_set, VIP_CONN_TYPE_CLIENT, VIP_DEBUG, VIP_DEBUG_GM, VIP_DEBUG_LABEL, VIP_ENTER_IOCTL, VIP_ERROR_RESOURCE, VIP_EVENT_INIT, VIP_EXIT_IOCTL, VIP_FALSE, vip_free_handle(), vip_gm_host_name_lock, VIP_NIC::vip_gm_ptr, VIP_HTON_UCHAR, VIP_HTON_UINT16, VIP_HTON_UINT64, VIP_INVALID_PARAMETER, VIP_INVALID_STATE, VIP_INVALID_VI_HANDLE, vip_is_conn_notified(), VIP_MUTEX_LOCK, VIP_MUTEX_UNLOCK, VIP_SEND_REQ::vip_nic_ptr, VIP_NO_MATCH, VIP_NOT_DONE, VIP_PROGRESSION, VIP_REJECT, vip_send_data(), VIP_SEND_REQ_RELIABLE, VIP_STATE_CONNECT_PENDING, VIP_STATE_IDLE, VIP_SUCCESS, VIP_TIMEOUT, VIP_SEND_REQ::vip_vi_ptr, VIP_CONN::vip_vi_ptr, vip_wait_for_notification(), and VIP_CONN::waiting_list. |
1.4.4.