Example #1
0
 /// <exception cref="System.IO.IOException"/>
 public virtual void passByBytes(RequestFactory requestFactory, ResponseFactory responseFactory, Compression compression, long iters)
 {
     java.nio.ByteBuffer requestBytes  = java.nio.ByteBuffer.allocate(SCRATCH_SIZE * 8);
     java.nio.ByteBuffer responseBytes = java.nio.ByteBuffer.allocate(SCRATCH_SIZE * 8);
     Common.FastRand     rng           = new Common.FastRand();
     for (int i = 0; i < iters; ++i)
     {
         MessageBuilder  requestMessage  = new MessageBuilder();
         MessageBuilder  responseMessage = new MessageBuilder();
         RequestBuilder  request         = requestMessage.InitRoot(requestFactory);
         Expectation     expected        = this.setupRequest(rng, request);
         ResponseBuilder response        = responseMessage.InitRoot(responseFactory);
         {
             ArrayOutputStream writer = new ArrayOutputStream(requestBytes);
             compression.writeBuffered(writer, requestMessage);
         }
         {
             MessageReader messageReader = compression.newBufferedReader(new ArrayInputStream(requestBytes));
             this.handleRequest(messageReader.GetRoot(requestFactory), response);
         }
         {
             ArrayOutputStream writer = new ArrayOutputStream(responseBytes);
             compression.writeBuffered(writer, responseMessage);
         }
         {
             MessageReader messageReader = compression.newBufferedReader(new ArrayInputStream(responseBytes));
             if (!this.checkResponse(messageReader.GetRoot(responseFactory), expected))
             {
                 throw new System.Exception("incorrect response");
             }
         }
     }
 }
Example #2
0
        /**
         * Writes a fault skin to a file with specified name.
         * @param fileName the fault skin file name.
         * @param skin the fault skin.
         */
        public static void writeToFile(String fileName, FaultSkin skin)
        {
            throw new NotImplementedException();
#if false
            try {
                ArrayOutputStream aos = new ArrayOutputStream(fileName);
                aos.writeInt(skin.size());
                aos.writeInt(skin._seed.i1);
                aos.writeInt(skin._seed.i2);
                aos.writeInt(skin._seed.i3);
                for (FaultCell cell:skin)
                {
                    aos.writeFloat(cell.x1);
                    aos.writeFloat(cell.x2);
                    aos.writeFloat(cell.x3);
                    aos.writeFloat(cell.fl);
                    aos.writeFloat(cell.fp);
                    aos.writeFloat(cell.ft);
                    aos.writeFloat(cell.s1);
                    aos.writeFloat(cell.s2);
                    aos.writeFloat(cell.s3);
                }
                for (FaultCell cell:skin)
                {
                    FaultCell[] nabors = new FaultCell[] { cell.ca, cell.cb, cell.cl, cell.cr };
                    for (FaultCell nabor:nabors)
                    {
                        if (nabor != null)
                        {
                            aos.writeInt(nabor.i1);
                            aos.writeInt(nabor.i2);
                            aos.writeInt(nabor.i3);
                        }
                        else
                        {
                            aos.writeInt(INULL);
                            aos.writeInt(INULL);
                            aos.writeInt(INULL);
                        }
                    }
                }
                aos.close();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
#endif
        }