Ejemplo n.º 1
0
 private static void Request(Stream str, RequestCode RQ, Action <ReaderWriter> ReqCB, Action <ReaderWriter> RespCB)
 {
     using (ReaderWriter rw = new ReaderWriter(str))
     {
         rw.Write((ushort)RQ);
         using (MemoryStream ms = new MemoryStream())
         {
             using (ReaderWriter req_rw = new ReaderWriter(ms))
                 ReqCB(req_rw);
             rw.Write(ms.ToArray(), true);
         }
         rw.Flush();
         if (rw.ReadBool())
         {
             using (MemoryStream ms = new MemoryStream(rw.ReadBytes()))
                 using (ReaderWriter resp_rw = new ReaderWriter(ms))
                     RespCB(resp_rw);
         }
         else
         {
             throw new Exception(rw.ReadString());
         }
     }
 }