private void RunCall() { try { socket.Open(); try { sent = writer.Send(out sentLength, out actualSentLength); received = reader.Receive(out receivedLength, out actualReceivedLength); } finally { socket.Close(); ends = Logger.TimeVal(); header.SavePrevStats(starts, sentLength, actualSentLength, receivedLength, actualReceivedLength, ends - starts); } } catch (RpcException) { throw; // REBOUND the throw } catch (Exception ex) { throw new RpcException("Error Calling to Server " + this.serverName, ex); } }