Пример #1
0
        protected void Init(int users = 5, YDocOptions options = null)
        {
            Users     = new List <TestYInstance>();
            Arrays    = new Dictionary <TestYInstance, YArray>();
            Maps      = new Dictionary <TestYInstance, YMap>();
            Texts     = new Dictionary <TestYInstance, YText>();
            Connector = new TestConnector();

            for (int i = 0; i < users; i++)
            {
                var y = Connector.CreateY(i, options);
                Users.Add(y);

                Arrays[y] = y.GetArray("array");
                Maps[y]   = y.GetMap("map");
                Texts[y]  = y.GetText("text");
            }

            Connector.SyncAll();
        }
Пример #2
0
        public TestYInstance(TestConnector connector, int clientId, YDocOptions options)
            : base(options)
        {
            ClientId = clientId;

            _tc = connector;
            _tc._allConns.Add(this);

            // Setup observe on local model.
            UpdateV2 += (s, e) =>
            {
                if (e.origin != _tc)
                {
                    using var stream = new MemoryStream();
                    SyncProtocol.WriteUpdate(stream, e.data);

                    BroadcastMessage(this, stream.ToArray());
                }
            };

            Connect();
        }