I have this very simple test project where an actor class is calling another actor class in the same canister. The delay is several seconds which is unacceptable.
Could someone provide an explanation or a diagram on what’s going on and it is so slow?
Is there a better way to code this?
main.mo:
import ClassOne "ActorClass1";
import D "mo:base/Debug";
import Time "mo:base/Time";
actor {
public func test_delay() : async Text {
D.print(debug_show(Time.now()));
let actorClassOne = await ClassOne.ClassOne();
D.print(debug_show(Time.now()));
return await actorClassOne.callClassOne();
};
};
ActorClass1.mo
import ClassTwo "ActorClass2";
import D "mo:base/Debug";
import Time "mo:base/Time";
actor class ClassOne() {
public func callClassOne(): async Text {
let actorClassTwo= await ClassTwo.ClassTwo();
return await actorClassTwo.callClassTwo();
}
}
ActorClass2.mo
import D "mo:base/Debug";
actor class ClassTwo() {
public func callClassTwo(): async Text {
return "classTwo has been called";
}
}