Beispiel #1
0
        internal ErlCRUDSubscription(ErlDataStore store,
                                     string name,
                                     Query query,
                                     Mailbox recipient,
                                     object correlate = null
                                     ) : base(store, name, query, recipient, correlate)
        {
            m_ErlBox = store.MakeMailbox(name);

            m_ErlBox.MailboxMessage += (_, msg) =>
            {
                Task.Run(() => process(msg));
                return(true);
            };

            m_Store = store;
            m_Query = query;
            subscribeCore();
            HasLoaded();
        }
Beispiel #2
0
        internal ErlCRUDSubscription(ErlDataStore store,
                                     string name,
                                     Query query,
                                     Mailbox recipient,
                                     object correlate = null
                                     ) : base(store, name, query, recipient, correlate)
        {
            m_ErlBox = store.MakeMailbox();
            m_Queue  = new ConcurrentQueue <IQueable>();

            m_ErlBox.MailboxMessage += (_, msg) =>
            {
                m_Queue.Enqueue(msg);
                asyncProcess();
                return(true);
            };

            m_Store = store;
            m_Query = query;
            subscribeCore();
            HasLoaded();
        }
Beispiel #3
0
 public SchemaMap(ErlDataStore store, string xmlContent)
 {
     m_Store     = store;
     m_ErlSchema = XMLConfiguration.CreateFromXML(xmlContent);
 }
        //public static readonly IErlObject EXECUTE_OK_PATTERN =
        //new ErlPatternMatcher {
        //    {"stop", (p, t, b, _args) => { active = false; return null; } },
        //    {"Msg",  (p, t, b, _args) => { Console.WriteLine(b["Msg"].ToString()); return null; } },
        //};


        #endregion

        #region .ctor
        public ErlCRUDScriptQueryHandler(ErlDataStore store, QuerySource source)
        {
            m_Store  = store;
            m_Source = source;
        }
Beispiel #5
0
 public ErlCRUDQueryExecutionContext(ErlDataStore store, ErlMbox erlMBox = null, DataTimeStamp?ts = null)
 {
     this.DataStore        = store;
     ErlMailBox            = erlMBox;
     SubscriptionTimestamp = ts;
 }
Beispiel #6
0
 internal ErlCRUDMailbox(ErlDataStore store, string name) : base(store, name)
 {
 }