/srv/osrm/osrm-backend/third_party/flatbuffers/samples
NameSizeModeActions
android/-0755rm
lua/-0755rm
android_sample.sh11520755editdlrm
csharp_sample.sh16550755editdlrm
dart_sample.sh16280755editdlrm
go_sample.sh21520755editdlrm
javascript_sample.sh15290755editdlrm
java_sample.sh17460755editdlrm
kotlin_sample.sh21200755editdlrm
monster.bfbs18400644editdlrm
monster.fbs5180644editdlrm
monsterdata.json2720644editdlrm
monster_generated.h292930644editdlrm
monster_generated.lobster45910644editdlrm
monster_generated.rs143260644editdlrm
php_sample.sh15130755editdlrm
python_sample.sh15300755editdlrm
SampleBinary.cs55220644editdlrm
SampleBinary.java40390644editdlrm
samplebinary.js41380644editdlrm
SampleBinary.kt42350644editdlrm
SampleBinary.php47450644editdlrm
sample_bfbs.cpp27270644editdlrm
sample_binary.cpp38680644editdlrm
sample_binary.go66530644editdlrm
sample_binary.lobster31050644editdlrm
sample_binary.lua34310644editdlrm
sample_binary.py54480644editdlrm
sample_binary.rs54770644editdlrm
sample_text.cpp21310644editdlrm
sample_text.lobster14200644editdlrm
Edit: /srv/osrm/osrm-backend/third_party/flatbuffers/samples/samplebinary.js (4138B)
/* * Copyright 2015 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // To run, use the `javascript_sample.sh` script. var assert = require('assert'); var flatbuffers = require('../js/flatbuffers').flatbuffers; var MyGame = require('./monster_generated').MyGame; // Example how to use FlatBuffers to create and read binary buffers. function main() { var builder = new flatbuffers.Builder(0); // Create some weapons for our Monster ('Sword' and 'Axe'). var weaponOne = builder.createString('Sword'); var weaponTwo = builder.createString('Axe'); MyGame.Sample.Weapon.startWeapon(builder); MyGame.Sample.Weapon.addName(builder, weaponOne); MyGame.Sample.Weapon.addDamage(builder, 3); var sword = MyGame.Sample.Weapon.endWeapon(builder); MyGame.Sample.Weapon.startWeapon(builder); MyGame.Sample.Weapon.addName(builder, weaponTwo); MyGame.Sample.Weapon.addDamage(builder, 5); var axe = MyGame.Sample.Weapon.endWeapon(builder); // Serialize the FlatBuffer data. var name = builder.createString('Orc'); var treasure = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; var inv = MyGame.Sample.Monster.createInventoryVector(builder, treasure); var weaps = [sword, axe]; var weapons = MyGame.Sample.Monster.createWeaponsVector(builder, weaps); var pos = MyGame.Sample.Vec3.createVec3(builder, 1.0, 2.0, 3.0); MyGame.Sample.Monster.startMonster(builder); MyGame.Sample.Monster.addPos(builder, pos); MyGame.Sample.Monster.addHp(builder, 300); MyGame.Sample.Monster.addColor(builder, MyGame.Sample.Color.Red) MyGame.Sample.Monster.addName(builder, name); MyGame.Sample.Monster.addInventory(builder, inv); MyGame.Sample.Monster.addWeapons(builder, weapons); MyGame.Sample.Monster.addEquippedType(builder, MyGame.Sample.Equipment.Weapon); MyGame.Sample.Monster.addEquipped(builder, weaps[1]); var orc = MyGame.Sample.Monster.endMonster(builder); builder.finish(orc); // You may also call 'MyGame.Example.Monster.finishMonsterBuffer(builder, orc);'. // We now have a FlatBuffer that can be stored on disk or sent over a network. // ...Code to store to disk or send over a network goes here... // Instead, we are going to access it right away, as if we just received it. var buf = builder.dataBuffer(); // Get access to the root: var monster = MyGame.Sample.Monster.getRootAsMonster(buf); // Note: We did not set the `mana` field explicitly, so we get back the default value. assert.equal(monster.mana(), 150); assert.equal(monster.hp(), 300); assert.equal(monster.name(), 'Orc'); assert.equal(monster.color(), MyGame.Sample.Color.Red); assert.equal(monster.pos().x(), 1.0); assert.equal(monster.pos().y(), 2.0); assert.equal(monster.pos().z(), 3.0); // Get and test the `inventory` FlatBuffer `vector`. for (var i = 0; i < monster.inventoryLength(); i++) { assert.equal(monster.inventory(i), i); } // Get and test the `weapons` FlatBuffer `vector` of `table`s. var expectedWeaponNames = ['Sword', 'Axe']; var expectedWeaponDamages = [3, 5]; for (var i = 0; i < monster.weaponsLength(); i++) { assert.equal(monster.weapons(i).name(), expectedWeaponNames[i]); assert.equal(monster.weapons(i).damage(), expectedWeaponDamages[i]); } // Get and test the `equipped` FlatBuffer `union`. assert.equal(monster.equippedType(), MyGame.Sample.Equipment.Weapon); assert.equal(monster.equipped(new MyGame.Sample.Weapon()).name(), 'Axe'); assert.equal(monster.equipped(new MyGame.Sample.Weapon()).damage(), 5); console.log('The FlatBuffer was successfully created and verified!'); } main();