#!/bin/sh
-#
+# Copyright 2020 Ian Jackson
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
# make -j8
# make -j8 release
+Copyright 2020 Ian Jackson
+SPDX-License-Identifier: AGPL-3.0-or-later
+There is NO WARRANTY.
+
+
CONCURRENT UPDATE PROTOCOL AND ANALYSIS
=======================================
+# Copyright 2020 Ian Jackson
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
table_size = [300, 100]
[[pieces]]
+# Copyright 2020 Ian Jackson
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
[[players]]
nick = "alice"
access = "FixedToken"
#!/usr/bin/perl -w
+# Copyright 2020 Ian Jackson
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
use strict;
use Data::MessagePack;
use Data::Dumper;
+# Copyright 2020 Ian Jackson
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
# /volatile/rustcargo/Rustup/Game/server
# target/debug/server ~ian/Rustup/Game/server/server.toml
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
use crate::http::*;
-//
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
#![allow(unused_imports)]
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
// xxx need button(s) to cause players to release grabs ?
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: MIT-0 OR AGPL-3.0-or-later
+// There is NO WARRANTY.
// results:
// rustc 1.46.0-nightly --release
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
// management API implementation
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: MIT-0 OR AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
#![allow(clippy::let_and_return)]
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
pub use rocket::request::Request;
pub use rocket::response::{Response,Responder};
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
pub use std::io;
pub use std::io::{BufReader,Read,BufRead,BufWriter,Write};
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
#![allow(clippy::many_single_char_names)]
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
// pieces
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
use crate::imports::*;
use crate::http::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: MIT-0 OR AGPL-3.0-or-later
+// There is NO WARRANTY.
+
#![allow(clippy::or_fun_call)]
//! Provides a [`get_idx_key`](trait.KeyDataExt.html#tymethod.get_idx_version) method on
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
// game specs
use serde::{Serialize,Deserialize};
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
#![allow(clippy::while_let_loop)]
#![allow(clippy::blocks_in_if_conditions)]
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
+
// update messages from server to client
use crate::imports::*;
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
pub trait OrdExt : Ord + Sized {
fn update_max(&mut self, new: Self) {
<body id="loading_body">
+<!-- Copyright 2020 Ian Jackson
+ SPDX-License-Identifier: AGPL-3.0-or-later
+ There is NO WARRANTY. -->
<h1 id="loading_token" data-ptoken="{{ ptoken }}">Loading!</h1>
<div id="error"></div>
<script src="/_/script.js"></script>
// -*- JavaScript -*-
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY. -->
+
// xxx deployment note: need a whole bunch of domains for SSE conn limit
// xxx some way to choose faces / rotate
data-us="{{player}}"
data-gen="{{gen}}"
data-load="{{ load | escape }}"
- >
+ <!-- Copyright 2020 Ian Jackson
+ SPDX-License-Identifier: AGPL-3.0-or-later
+ There is NO WARRANTY. -->
<h1>Hi {{nick | escape}}!</h1>
<pre id="error"></pre>
<p>
+// Copyright 2020 Ian Jackson
+// SPDX-License-Identifier: AGPL-3.0-or-later
+// There is NO WARRANTY.
{
"compilerOptions": {
"lib": [