Skip to content

Commit

Permalink
Saiga uses 1.0 exchange rates, fix #24
Browse files Browse the repository at this point in the history
  • Loading branch information
michielbdejong committed May 14, 2024
1 parent afd3545 commit 1596547
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
10 changes: 9 additions & 1 deletion src/engine/friendsengine.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export class FriendsEngine {
export class GiraffeFriendsEngine {
protected name: string;
protected friends: {
[name: string]: {
Expand Down Expand Up @@ -31,3 +31,11 @@ export class FriendsEngine {
}

}
export class SaigaFriendsEngine extends GiraffeFriendsEngine {
constructor(name: string) {
super(name);
}
addFriend(otherName: string, maxBalance: number = 10.0): boolean {
return super.addFriend(otherName, maxBalance, 1.0);
}
}
6 changes: 3 additions & 3 deletions src/giraffe.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import EventEmitter from "node:events";
import { NetworkNode } from "./simulator/networksimulator.js";
import { getMessageType } from "./messages.js";
import { ProbesEngine } from "./engine/probesengine.js";
import { FriendsEngine } from "./engine/friendsengine.js";
import { GiraffeFriendsEngine } from "./engine/friendsengine.js";
import { TracesEngine } from "./engine/tracesengine.js";
import { GiraffeLoopsEngine } from "./engine/loopsengine.js";

export class Giraffe extends EventEmitter implements NetworkNode {
protected friendsEngine: FriendsEngine;
protected friendsEngine: GiraffeFriendsEngine;
protected probesEngine: ProbesEngine;
protected tracesEngine: TracesEngine;
protected loopsEngine: GiraffeLoopsEngine;
Expand All @@ -17,7 +17,7 @@ export class Giraffe extends EventEmitter implements NetworkNode {
constructor(name: string) {
super();
this.name = name;
this.friendsEngine = new FriendsEngine(name);
this.friendsEngine = new GiraffeFriendsEngine(name);
this.probesEngine = this.connectProbesEngine();
this.tracesEngine = this.connectTracesEngine(this.probesEngine);
this.loopsEngine = this.connectLoopsEngine(this.tracesEngine);
Expand Down
10 changes: 5 additions & 5 deletions src/saiga.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import EventEmitter from "node:events";
import { NetworkNode } from "./simulator/networksimulator.js";
import { getMessageType } from "./messages.js";
import { ProbesEngine } from "./engine/probesengine.js";
import { FriendsEngine } from "./engine/friendsengine.js";
import { SaigaFriendsEngine } from "./engine/friendsengine.js";
import { TracesEngine } from "./engine/tracesengine.js";
import { SaigaLoopsEngine } from "./engine/loopsengine.js";

export class Saiga extends EventEmitter implements NetworkNode {
protected friendsEngine: FriendsEngine;
protected friendsEngine: SaigaFriendsEngine;
protected probesEngine: ProbesEngine;
protected tracesEngine: TracesEngine;
protected loopsEngine: SaigaLoopsEngine;
Expand All @@ -17,7 +17,7 @@ export class Saiga extends EventEmitter implements NetworkNode {
constructor(name: string) {
super();
this.name = name;
this.friendsEngine = new FriendsEngine(name);
this.friendsEngine = new SaigaFriendsEngine(name);
this.probesEngine = this.connectProbesEngine();
this.tracesEngine = this.connectTracesEngine(this.probesEngine);
this.loopsEngine = this.connectLoopsEngine(this.tracesEngine);
Expand Down Expand Up @@ -105,8 +105,8 @@ export class Saiga extends EventEmitter implements NetworkNode {
case `okay-to-send-probes`: return this.probesEngine.handleOkayToSendProbesMessage(sender);
}
}
meet(other: string, createProbe: boolean = true, maxBalance: number = 10.0, exchangeRate: number = 1.0): void {
const newFriendship = this.friendsEngine.addFriend(other, maxBalance, exchangeRate);
meet(other: string, createProbe: boolean = true, maxBalance: number = 10.0): void {
const newFriendship = this.friendsEngine.addFriend(other, maxBalance);
if (!newFriendship) {
return;
}
Expand Down

0 comments on commit 1596547

Please sign in to comment.