justinstenning / SharedMemory

C# shared memory classes for sharing data between processes (Array, Buffer and Circular Buffer)
https://www.nuget.org/packages/SharedMemory
Other
566 stars 118 forks source link

how to know rpc master timeout? #73

Open liangruxing opened 3 months ago

liangruxing commented 3 months ago

exe a code: String ipcName = "ipcName"; RpcBuffer ipcSlave = new RpcBuffer(ipcName, (msgId, payload) => { log.Info("ipcSlave receive"); //how to know master timeout? Thread.Sleep(10*1000); log.Info("ipcSlave finish work"); return new byte[1]; });

exe b code: String ipcName = "ipcName"; RpcBuffer ipcMaster = new RpcBuffer(ipcName); for (int i = 0; i < 1000; i++) { ipcMaster.RemoteRequest(timeoutMs: 10); } log.Info("all request timeout!");

When program b times out, how does program a know and stop work ?

justinstenning commented 3 months ago

Currently there would be no way to know without some other form of comms.