NewTOAPIA.Net.Udt.CUDTUnited.getpeername C# (CSharp) Method

getpeername() private method

private getpeername ( Int32 u, IPAddress &addr, int &namelen ) : int
u System.Int32
addr System.Net.IPAddress
namelen int
return int
        int getpeername(UDTSOCKET u, out IPAddress addr, out int namelen)
        {
            namelen = 0;

            if (UDTSTATUS.CONNECTED != getStatus(u))
                throw new CUDTException(2, 2, 0);

            UdtSocket s = locate(u);

            if (null == s)
                throw new CUDTException(5, 4, 0);

            if (!s.m_pUDT.m_bConnected || s.m_pUDT.m_bBroken)
                throw new CUDTException(2, 2, 0);

            if (AddressFamily.InterNetwork == s.m_iIPversion)
                namelen = sizeof(sockaddr_in);
            else
                namelen = sizeof(sockaddr_in6);

            // copy address information of peer node
            memcpy(name, s.m_pPeerAddr, *namelen);
            addr = s.m_PeerAddr;

            return 0;
        }