summaryrefslogtreecommitdiffhomepage
path: root/app/lib
diff options
context:
space:
mode:
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/backend.js6
-rw-r--r--app/lib/ipc-facade.js5
-rw-r--r--app/lib/jsonrpc-ws-ipc.js4
3 files changed, 14 insertions, 1 deletions
diff --git a/app/lib/backend.js b/app/lib/backend.js
index 48ede8ff62..c8bea1600b 100644
--- a/app/lib/backend.js
+++ b/app/lib/backend.js
@@ -84,7 +84,11 @@ export class Backend {
setLocation(loc: string) {
log.info('Got connection info to backend', loc);
- this._ipc = new RealIpc(loc);
+ if (this._ipc) {
+ this._ipc.setConnectionString(loc);
+ } else {
+ this._ipc = new RealIpc(loc);
+ }
this._registerIpcListeners();
}
diff --git a/app/lib/ipc-facade.js b/app/lib/ipc-facade.js
index 3dac5d188a..2620f7958c 100644
--- a/app/lib/ipc-facade.js
+++ b/app/lib/ipc-facade.js
@@ -27,6 +27,7 @@ export type BackendState = {
};
export interface IpcFacade {
+ setConnectionString(string): void,
getAccountData(AccountNumber): Promise<AccountData>,
getAccount(): Promise<?AccountNumber>,
setAccount(accountNumber: AccountNumber): Promise<void>,
@@ -47,6 +48,10 @@ export class RealIpc implements IpcFacade {
this._ipc = new JsonRpcWs(connectionString);
}
+ setConnectionString(str: string) {
+ this._ipc.setConnectionString(str);
+ }
+
getAccountData(accountNumber: AccountNumber): Promise<AccountData> {
return this._ipc.send('get_account_data', accountNumber)
.then(raw => {
diff --git a/app/lib/jsonrpc-ws-ipc.js b/app/lib/jsonrpc-ws-ipc.js
index 44caf12d5c..597d6830fe 100644
--- a/app/lib/jsonrpc-ws-ipc.js
+++ b/app/lib/jsonrpc-ws-ipc.js
@@ -89,6 +89,10 @@ export default class Ipc {
this._reconnect();
}
+ setConnectionString(str: string) {
+ this._connectionString = str;
+ }
+
setSendTimeout(millis: number) {
this._sendTimeoutMillis = millis;
}