Exemplo n.º 1
0
 public static Stamp StampJoin(Stamp s1, Stamp s2)
 {
     // joins two stamps, returning the resulting stamp
     Id.Sum(s1.Id, s2.Id);
     Event.Join(s1.Event, s2.Event);
     return s1;
 }
Exemplo n.º 2
0
        public static Stamp[] StampFork(Stamp st)
        {
            var b = new Stamp
                        {
                            Event = (Event.Clone(st.Event))
                        };

            var par = st.Id.Split();
            st.Id = (par[0]);
            b.Id = (par[1]);

            return new[]{st, b};
        }
Exemplo n.º 3
0
        public static Stamp StampEvent(Stamp st)
        {
            // returns the new updated Stamp
            var res = st.Clone();
            StampFill(st.Id, st.Event);
            var notFilled = st.Event.Equals(res.Event);

            if (notFilled)
            {
                StampGrow(st.Id, st.Event);
            }

            return res;
        }
Exemplo n.º 4
0
 public static Stamp StampPeek(Stamp st)
 {
     var i = new Id(0);
     var ev = Event.Clone(st.Event);
     return new Stamp(i, ev);
 }
Exemplo n.º 5
0
 protected Stamp(Stamp s)
 {
     Event = s.Event;
     Id = s.Id;
 }
Exemplo n.º 6
0
 public bool Leq(Stamp s2)
 {
     return Event.Leq(s2.Event);
 }
Exemplo n.º 7
0
 public void Join(Stamp s2)
 {
     // joins two stamps becoming itself the result stamp
     Id.Sum(Id, s2.Id);
     Event.Join(Event,s2.Event);
 }
Exemplo n.º 8
0
        public Stamp Fork()
        {
            var st = new Stamp
                         {
                             Event = (Event.Clone(Event))
                         };

            var par = Id.Split();
            Id = par[0];
            st.Id = (par[1]);

            return st;
        }