Пример #1
0
        public T ConvertJ2C <T>(byte type, Object javaObject)
        {
            DirectByteBuffer commandBuffer = serializeN(type, javaObject);
            ByteBuffer       byteBuffer    = ByteBuffer.wrap(commandBuffer.GetSharedBuffer());

            return(RbSerializerN.deserializeFromBuffer <T>(byteBuffer));
        }
Пример #2
0
        public void BBwrapThrow()
        {
            byte[] myLovelyData = PrepareData();

            DirectByteBuffer buffer = new DirectByteBuffer(myLovelyData);

            buffer.position(myLovelyData.Length - 1);
            buffer.put(0xEE);
            buffer.put(0xEE);
        }
Пример #3
0
        private static ByteBuffer xx()
        {
            byte[] myLovelyData = new byte[1000 * 1000 * 10];

            DirectByteBuffer buffer = new DirectByteBuffer(myLovelyData);

            buffer.position(myLovelyData.Length - 1);
            buffer.put(0xEE);

            return(Bridge.Cast <ByteBuffer>(buffer));
        }
Пример #4
0
        private ByteBuffer a(int size)
        {
            var sharedBuffer = new byte[size];
            var buffer       = new DirectByteBuffer(sharedBuffer);

            buffer.position(size - 1);
            buffer.put(0xEE);
            ByteBuffer byteBuffer = Bridge.Cast <ByteBuffer>(buffer);

            return(byteBuffer);
        }
Пример #5
0
        public BasicRobotProxy(IRobotItem specification, IHostManager hostManager, IRobotPeer peer, RobotStatics statics)
            : base(specification, hostManager, peer, statics)
        {
            eventManager = new EventManager(this);

            graphicsProxy = new GraphicsProxy();

            // dummy
            execResults = new ExecResults(null, null, null, null, null, false, false, false);

            setSetCallCount(0);
            setGetCallCount(0);

            var sharedBuffer = new byte[10 * 1024 * 100];

            execJavaBuffer = new DirectByteBuffer(sharedBuffer);
            execNetBuffer  = ByteBuffer.wrap(sharedBuffer);
            rbSerializerN  = new RbSerializerN();
            this.peer.setupBuffer(execJavaBuffer);
        }
Пример #6
0
        public DirectByteBuffer serializeN(byte type, Object obj)
        {
            int length = sizeOf(type, obj);

            // header
            int size         = RbSerializerN.SIZEOF_INT * 3 + length;
            var sharedBuffer = new byte[size];
            var buffer       = new DirectByteBuffer(sharedBuffer);

            buffer.putInt(byteOrder);
            buffer.putInt(currentVersion);
            buffer.putInt(length);

            // body
            serialize(buffer, type, obj);
            if (buffer.remaining() != 0)
            {
                throw new IOException("Serialization failed: bad size");
            }
            return(buffer);
        }
Пример #7
0
        public static void crash(int i, JniGlobalHandle handle)
        {
            //Console.WriteLine("a" + i);
            var sharedBuffer = new byte[10 * 1024 * 100];

            //Console.WriteLine("b");
            DirectByteBuffer execJavaBuffer = new DirectByteBuffer(sharedBuffer);

            //Console.WriteLine("c");
            try
            {
                String duplicate = Bridge.CreateProxy<String>(handle);
                string s = duplicate.toString();
            }
            catch (System.Exception)
            {
                Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
                throw;
            }

            //Console.WriteLine("d");
            GC.Collect(3, GCCollectionMode.Forced);
            GC.WaitForPendingFinalizers();
        }
Пример #8
0
        public static void crash(int i, JniGlobalHandle handle)
        {
            //Console.WriteLine("a" + i);
            var sharedBuffer = new byte[10 * 1024 * 100];

            //Console.WriteLine("b");
            DirectByteBuffer execJavaBuffer = new DirectByteBuffer(sharedBuffer);

            //Console.WriteLine("c");
            try
            {
                String duplicate = Bridge.CreateProxy <String>(handle);
                string s         = duplicate.toString();
            }
            catch (System.Exception)
            {
                Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
                throw;
            }

            //Console.WriteLine("d");
            GC.Collect(3, GCCollectionMode.Forced);
            GC.WaitForPendingFinalizers();
        }
Пример #9
0
        private ByteBuffer a(int size)
        {
            var sharedBuffer = new byte[size];
            var buffer = new DirectByteBuffer(sharedBuffer);
            buffer.position(size - 1);
            buffer.put(0xEE);
            ByteBuffer byteBuffer = Bridge.Cast<ByteBuffer>(buffer);

            return byteBuffer;
        }
Пример #10
0
        public void BBwrapThrow()
        {
            byte[] myLovelyData = PrepareData();

            DirectByteBuffer buffer = new DirectByteBuffer(myLovelyData);

            buffer.position(myLovelyData.Length - 1);
            buffer.put(0xEE);
            buffer.put(0xEE);
        }
Пример #11
0
        private static ByteBuffer xx()
        {
            byte[] myLovelyData = new byte[1000*1000*10];

            DirectByteBuffer buffer = new DirectByteBuffer(myLovelyData);

            buffer.position(myLovelyData.Length - 1);
            buffer.put(0xEE);

            return Bridge.Cast<ByteBuffer>(buffer);
        }