private byte[] TryTransferToPeer(String peer, byte[] requestBytes)
        {
            var peerElement = PeersUtil.GetPeer(peer);

            if (peerElement == null)
            {
                throw new PeerNotFoundException(peer);
            }

            Uri peerUrl;

            if (!Uri.TryCreate(peerElement.Url, UriKind.RelativeOrAbsolute, out peerUrl))
            {
                throw new InvalidPeerUrlException(peer);
            }

            var requestTimeout = peerElement.RequestTimeout;

            if (requestTimeout == 0)
            {
                requestTimeout = 100000;
            }

            var transporter = TransporterUtil.CreateClientTransporter(peerUrl.ToString(), requestTimeout);

            var responseBytes = transporter.Send(requestBytes);

            return(responseBytes);
        }
Beispiel #2
0
        private static ResponseEntity SendRequest(String serverUrl, int timeout, RequestEntity requestEntity)
        {
            var requestBytes = GetRequestBytes(requestEntity);

            Uri serverUri;

            if (!Uri.TryCreate(serverUrl, UriKind.RelativeOrAbsolute, out serverUri))
            {
                throw new Exception("Invalid Server URL");
            }

            var transporter   = TransporterUtil.CreateServerTransporter(serverUrl, timeout);
            var responseBytes = transporter.Send(requestBytes);

            var responseEntity = GetResponseEntity(responseBytes);

            return(responseEntity);
        }