Example #1
0
 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();
 }
Example #2
0
        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);
        }
Example #3
0
        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();
        }
Example #4
0
        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);
        }
Example #5
0
File: y.cs Project: rulingcode/caaa
        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);
        }
Example #6
0
 public exchange_item(m_xip val) => x_m = val;
Example #7
0
 public notify_item(string xid, m_xip xip)
 {
     this.xid = xid;
     this.xip = xip;
     live();
 }
Example #8
0
 public Task <byte[]> c_exchange(m_xip val, byte[] data) => a.c_exchange.run(val, data);
Example #9
0
 public exchange_pool(m_xip x_m) => this.x_m = x_m;