Ejemplo n.º 1
0
        public static RpcError ToRpcError(this SocketError source)
        {
            if (!source.IsError().GetValueOrDefault())
            {
                return(null);
            }

            switch (source)
            {
            case SocketError.ConnectionRefused: {
                // Caller bug
                return(RpcError.ConnectionRefusedError);
            }

            case SocketError.HostNotFound:
            case SocketError.HostUnreachable:
            case SocketError.NetworkUnreachable: {
                return(RpcError.NetworkUnreacheableError);
            }

            case SocketError.MessageSize: {
                return(RpcError.MessageTooLargeError);
            }

            case SocketError.TimedOut: {
                return(RpcError.ConnectionTimeoutError);
            }

            default: {
                // Caller bug
                return(RpcError.TransportError);
            }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 ///		Creates a <see cref="RpcErrorMessage"/> based on the specified <see cref="SocketError"/>.
 /// </summary>
 /// <param name="socketError">The underlying <see cref="SocketError"/>.</param>
 /// <returns>
 ///		A <see cref="RpcErrorMessage"/> based on the specified <see cref="SocketError"/>.
 /// </returns>
 public static RpcErrorMessage ToClientRpcError(this SocketError socketError)
 {
     if (socketError.IsError().GetValueOrDefault())
     {
         return(new RpcErrorMessage(socketError.ToRpcError(), new SocketException((int)socketError).Message, string.Empty));
     }
     else
     {
         return(RpcErrorMessage.Success);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 ///		Gets the <see cref="RpcErrorMessage"/> corresponds to the specified <see cref="SocketError"/>.
 /// </summary>
 /// <param name="socketError">The <see cref="SocketError"/>.</param>
 /// <returns>
 ///		The <see cref="RpcErrorMessage"/> corresponds to the specified <see cref="SocketError"/>.
 /// </returns>
 public static RpcErrorMessage ToServerRpcError(this SocketError socketError)
 {
     if (socketError.IsError().GetValueOrDefault())
     {
         RpcError rpcError = socketError.ToRpcError();
         return(new RpcErrorMessage(rpcError, rpcError == RpcError.TransportError ? "Unexpected socket error." : rpcError.DefaultMessageInvariant, new SocketException(( int )socketError).Message));
     }
     else
     {
         return(RpcErrorMessage.Success);
     }
 }