public exchange(m_xip x_m) { this.x_m = x_m ?? throw new ArgumentNullException(nameof(x_m)); server = new WatsonTcpServer(x_m.address, x_m.port); server.Events.MessageReceived += Events_MessageReceivedAsync; server.Start(); }
public async Task <byte[]> run(m_xip x_m, byte[] data) { await n_locker.WaitAsync(); var dv = await get(x_m); var rt = await dv.send(data); n_locker.Release(); return(rt); }
public async void close(m_xip val) { await locker.WaitAsync(); var dv = list.FirstOrDefault(i => i.x_m == val); if (dv != null) { dv.close(); } locker.Release(); }
async Task <exchange_pool> get(m_xip val) { await locker.WaitAsync(); var dv = list.FirstOrDefault(i => i.x_m == val); if (dv == null) { dv = new exchange_pool(val); list.Add(dv); } locker.Release(); return(dv); }
internal async Task <output> run <output>(string userid, layer_0.cell.y y) where output : o_base { m_y packet_y = new m_y() { userid = userid, yid = y.z_yid, data = JsonConvert.SerializeObject(y) }; var data = p_crypto.convert(packet_y); m_key key = a.api2.c_key; if (key != null) { data = p_crypto.Encrypt(data, key); } m_packet packet = new m_packet() { deviceid = key?.id, data = data }; data = p_crypto.convert(packet); m_xip xip = await a.c_x.get(y.z_xid); data = await a.api1.c_exchange(xip, data); if (key != null) { data = p_crypto.Decrypt(data, key); } var o = p_crypto.convert <output>(data); if (a.api2.c_after != null) { await a.api2.c_after(y, o); } return(o); }
public exchange_item(m_xip val) => x_m = val;
public notify_item(string xid, m_xip xip) { this.xid = xid; this.xip = xip; live(); }
public Task <byte[]> c_exchange(m_xip val, byte[] data) => a.c_exchange.run(val, data);
public exchange_pool(m_xip x_m) => this.x_m = x_m;