示例#1
0
 public bool Enqueue <T0, T1>(byte[] key, ushort idMessage, T0 t0, T1 t1, DEnqueue e, DDiscarded discarded)
 {
     using (CScopeUQueue sb = new CScopeUQueue())
     {
         sb.Save(t0).Save(t1);
         return(Enqueue(key, idMessage, sb.UQueue, e, discarded));
     }
 }
示例#2
0
 public bool Enqueue<T0, T1>(byte[] key, ushort idMessage, T0 t0, T1 t1, DEnqueue e)
 {
     if (key == null)
         key = new byte[0];
     CUQueue sb = CScopeUQueue.Lock();
     sb.Save(key).Save(idMessage).Save(t0).Save(t1);
     bool ok = SendRequest(idEnqueue, sb, GetRH(e));
     CScopeUQueue.Unlock(sb);
     return ok;
 }
示例#3
0
            public virtual bool Enqueue(byte[] key, ushort idMessage, byte[] bytes, DEnqueue e, DDiscarded discarded)
            {
                CUQueue sb = CScopeUQueue.Lock();

                sb.Save(key).Save(idMessage).Push(bytes);
                bool ok = SendRequest(idEnqueue, sb, GetRH(e), discarded, (DOnExceptionFromServer)null);

                CScopeUQueue.Unlock(sb);
                return(ok);
            }
示例#4
0
 public bool Enqueue(byte[] key, ushort idMessage, byte[] bytes, DEnqueue e)
 {
     if (key == null)
         key = new byte[0];
     CUQueue sb = CScopeUQueue.Lock();
     sb.Save(key).Save(idMessage).Push(bytes);
     bool ok = SendRequest(idEnqueue, sb, GetRH(e));
     CScopeUQueue.Unlock(sb);
     return ok;
 }
示例#5
0
 public bool Enqueue <T0>(byte[] key, ushort idMessage, T0 t0, DEnqueue e, DDiscarded discarded)
 {
     if (key == null)
     {
         key = new byte[0];
     }
     using (CScopeUQueue sb = new CScopeUQueue()) {
         sb.Save(t0);
         return(Enqueue(key, idMessage, sb.UQueue, e, discarded));
     }
 }
示例#6
0
 private DAsyncResultHandler GetRH(DEnqueue e)
 {
     if (e != null)
     {
         return((ar) =>
         {
             ulong index;
             ar.UQueue.Load(out index);
             e((CAsyncQueue)ar.AsyncServiceHandler, index);
         });
     }
     return(null);
 }
示例#7
0
            private DAsyncResultHandler GetRH(DEnqueue e)
            {
                DAsyncResultHandler rh = null;

                if (e != null)
                {
                    rh = (ar) => {
                        ulong index;
                        ar.Load(out index);
                        e((CAsyncQueue)ar.AsyncServiceHandler, index);
                    };
                }
                return(rh);
            }
示例#8
0
 private DAsyncResultHandler GetRH(DEnqueue e)
 {
     DAsyncResultHandler rh = null;
     if (e != null)
     {
         rh = (ar) =>
         {
             ulong index;
             ar.Load(out index);
             e(index);
         };
     }
     return rh;
 }
示例#9
0
 public bool EnqueueBatch(byte[] key, CUQueue q, DEnqueue e)
 {
     if (key == null)
         key = new byte[0];
     if (q == null || q.GetSize() < 2 * sizeof(uint))
     {
         throw new InvalidOperationException("Bad operation");
     }
     CUQueue sb = CScopeUQueue.Lock();
     sb.Save(key).Push(q.IntenalBuffer, q.HeadPosition, q.Size);
     q.SetSize(0);
     bool ok = SendRequest(idEnqueueBatch, sb, GetRH(e));
     CScopeUQueue.Unlock(sb);
     return ok;
 }
示例#10
0
            public virtual bool EnqueueBatch(byte[] key, CUQueue q, DEnqueue e, DDiscarded discarded)
            {
                if (q == null || q.GetSize() < 2 * sizeof(uint))
                {
                    throw new InvalidOperationException("Bad operation");
                }
                CUQueue sb = CScopeUQueue.Lock();

                sb.Save(key).Push(q.IntenalBuffer, q.HeadPosition, q.Size);
                q.SetSize(0);
                bool ok = SendRequest(idEnqueueBatch, sb, GetRH(e), discarded, (DOnExceptionFromServer)null);

                CScopeUQueue.Unlock(sb);
                return(ok);
            }
示例#11
0
            public virtual bool Enqueue(byte[] key, ushort idMessage, CUQueue buffer, DEnqueue e, DDiscarded discarded)
            {
                CUQueue sb = CScopeUQueue.Lock();

                sb.Save(key).Save(idMessage);
                if (buffer != null)
                {
                    sb.Push(buffer.IntenalBuffer, buffer.HeadPosition, buffer.Size);
                }
                bool ok = SendRequest(idEnqueue, sb, GetRH(e), discarded, (DOnExceptionFromServer)null);

                CScopeUQueue.Unlock(sb);
                return(ok);
            }
示例#12
0
 public bool Enqueue <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(byte[] key, ushort idMessage, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, DEnqueue e, DDiscarded discarded)
 {
     using (CScopeUQueue sb = new CScopeUQueue())
     {
         sb.Save(t0).Save(t1).Save(t2).Save(t3).Save(t4).Save(t5).Save(t6).Save(t7).Save(t8).Save(t9);
         return(Enqueue(key, idMessage, sb.UQueue, e, discarded));
     }
 }
示例#13
0
 public bool Enqueue <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(byte[] key, ushort idMessage, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, DEnqueue e)
 {
     return(Enqueue(key, idMessage, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, e, (DDiscarded)null));
 }
示例#14
0
 public bool Enqueue <T0, T1, T2, T3, T4, T5>(byte[] key, ushort idMessage, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, DEnqueue e)
 {
     return(Enqueue(key, idMessage, t0, t1, t2, t3, t4, t5, e, (DDiscarded)null));
 }
示例#15
0
 public bool Enqueue <T0, T1, T2>(byte[] key, ushort idMessage, T0 t0, T1 t1, T2 t2, DEnqueue e)
 {
     return(Enqueue(key, idMessage, t0, t1, t2, e, (DDiscarded)null));
 }
示例#16
0
 public bool Enqueue <T0, T1, T2, T3, T4, T5, T6, T7>(byte[] key, ushort idMessage, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, DEnqueue e, DDiscarded discarded)
 {
     if (key == null)
     {
         key = new byte[0];
     }
     using (CScopeUQueue sb = new CScopeUQueue())
     {
         sb.Save(t0).Save(t1).Save(t2).Save(t3).Save(t4).Save(t5).Save(t6).Save(t7);
         return(Enqueue(key, idMessage, sb.UQueue, e, discarded));
     }
 }
示例#17
0
 public bool EnqueueBatch(byte[] key, CUQueue q, DEnqueue e)
 {
     return(EnqueueBatch(key, q, e, null));
 }
示例#18
0
 public bool Enqueue(byte[] key, ushort idMessage, CUQueue buffer, DEnqueue e)
 {
     return(Enqueue(key, idMessage, buffer, e, (DDiscarded)null));
 }
示例#19
0
 public bool Enqueue(byte[] key, ushort idMessage, byte[] bytes, DEnqueue e)
 {
     return(Enqueue(key, idMessage, bytes, e, (DDiscarded)null));
 }
示例#20
0
 public bool Enqueue<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(byte[] key, ushort idMessage, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, DEnqueue e)
 {
     if (key == null)
         key = new byte[0];
     CUQueue sb = CScopeUQueue.Lock();
     sb.Save(key).Save(idMessage).Save(t0).Save(t1).Save(t2).Save(t3).Save(t4).Save(t5).Save(t6).Save(t7).Save(t8).Save(t9);
     bool ok = SendRequest(idEnqueue, sb, GetRH(e));
     CScopeUQueue.Unlock(sb);
     return ok;
 }
示例#21
0
 public bool Enqueue <T0>(byte[] key, ushort idMessage, T0 t0, DEnqueue e)
 {
     return(Enqueue <T0>(key, idMessage, t0, e, (DDiscarded)null));
 }