287 Commits

Author SHA1 Message Date
Wolfgang Bumiller
ac45b7cea6 run 'cargo fmt -- --check' in check target
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-25 15:08:53 +01:00
Wolfgang Bumiller
9b07990086 formatting fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-25 15:07:18 +01:00
Dietmar Maurer
7e3b6944f6 proxmox_api: improve ApiStringFormat docs 2019-11-24 10:34:59 +01:00
Dietmar Maurer
e4d44ae7a3 proxmox-api: rename ApiStringFormat::Complex into ApiStringFormat::PropertyString 2019-11-24 09:51:45 +01:00
Dietmar Maurer
38abbed608 proxmox-api: improve schema docs 2019-11-23 17:00:36 +01:00
Dietmar Maurer
a3c62c420d proxmox-api: improve schema docs 2019-11-23 15:55:18 +01:00
Dietmar Maurer
6d31db9aca proxmox-api: further doc improvements 2019-11-23 14:13:52 +01:00
Dietmar Maurer
ed426cd99b proxmox-api: improve router docs 2019-11-23 14:08:44 +01:00
Dietmar Maurer
f02462039d proxmox-api - improve Router docs 2019-11-23 11:51:16 +01:00
Dietmar Maurer
c1ffee0901 proxmox-api: move impl ApiMethod to lib.rs 2019-11-23 10:58:32 +01:00
Dietmar Maurer
446ee31466 const_regex: fixup for previous commit 2019-11-23 10:48:36 +01:00
Dietmar Maurer
e89a52c30b proxmox-api: further cleanups
- improve docs
- move  ConstRegexPattern to const_regex.rs
2019-11-23 10:42:17 +01:00
Dietmar Maurer
fa83cbde13 proxmox-api/src/lib.rs: hide modules with inlined docs 2019-11-23 09:53:18 +01:00
Dietmar Maurer
edb41c1929 proxmox_api - ApiHandler: rename Async into AsyncHttp
And improve docs.
2019-11-23 08:54:07 +01:00
Wolfgang Bumiller
5721d21a5e import a first draft of api macros
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-22 15:23:24 +01:00
Dietmar Maurer
e06151b90e api: simplify ApiAsyncHandlerFn 2019-11-22 12:48:36 +01:00
Wolfgang Bumiller
f73ebb7209 api: add format module
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-22 09:28:22 +01:00
Wolfgang Bumiller
a6ce1e432b api: fully qualify types in exported macros
and move const_regex macro into a separate module

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 14:05:23 +01:00
Wolfgang Bumiller
c38d18484d api: move ApiMethod from router to top level
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 13:43:10 +01:00
Wolfgang Bumiller
c0266a17cd move HttpError to separate error module
the router doesn't actually use it

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 13:38:57 +01:00
Wolfgang Bumiller
2577effaf7 api: schema: avoid an extra temp string
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 13:32:42 +01:00
Wolfgang Bumiller
b489c2ceeb import the new api definitions
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 13:30:28 +01:00
Wolfgang Bumiller
068d56ed3d delete the old api macro stuff
to be replaced by a new set of macros for the current api
schema in proxmox-backup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 13:13:18 +01:00
Wolfgang Bumiller
7f4d223a4a rename sorted-data to proxmox-sortable_macro
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 13:10:37 +01:00
Wolfgang Bumiller
297aca53f7 proxmox: add sortable-macro feature
Use:
    # Cargo.toml:
    [dependencies]
    proxmox = { version = "0.1", features = [ "sortable-macro" ] }

    # file.rs
    use proxmox::{sortable, identity};
    #[sortable]
    const DATA: &[u8; 4] = sorted!([3, 4, 1, 2]);

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 11:04:13 +01:00
Wolfgang Bumiller
ceb3ff5544 import sorted-data proc macro
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 11:04:13 +01:00
Wolfgang Bumiller
729fed5eac tools: add identity macro
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-21 10:24:27 +01:00
Wolfgang Bumiller
3cc4bcd78e tools: uuid: don't use uuid_parse
The manpage states that it requires a terminating null byte.
We don't have that. Also, the uuid crate also accepted
non-hyphenated hex strings, so we do that as well.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-14 10:13:08 +01:00
Wolfgang Bumiller
6cf330c9d2 add tools::parse submodule, move hex_nibble to it
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-14 09:59:04 +01:00
Wolfgang Bumiller
85a9752ea2 tools: uuid: fix doc comments
(at least use the correct format)

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-14 09:48:08 +01:00
Wolfgang Bumiller
b53b621cd8 add Uuid replacement
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-13 14:49:11 +01:00
Wolfgang Bumiller
db83a675f0 sys: get rid of Regex dependency
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-13 14:49:11 +01:00
Wolfgang Bumiller
b294fb1314 sys: add read_proc_pid_stat test
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-13 14:49:11 +01:00
Dietmar Maurer
1ae66863d1 update toolchain to stable 2019-11-08 11:51:21 +01:00
Dietmar Maurer
3172a01ce1 set toolchain to beta 2019-10-12 14:09:43 +02:00
Wolfgang Bumiller
ddea357de2 work around a compiler bug
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-10-04 14:12:21 +02:00
Wolfgang Bumiller
589cb7e296 macro: enforce Send
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-10-04 14:11:33 +02:00
Wolfgang Bumiller
df55ab2dda api-macro: update to 1.0 of syn/quote/proc_macro2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-10-04 13:42:03 +02:00
Wolfgang Bumiller
e0b50d07bf cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-28 10:36:43 +02:00
Wolfgang Bumiller
617e25abba api: make ApiMethodInfo already require Send + Sync
ApiMethodInfo provides static information about a type

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-28 10:30:33 +02:00
Wolfgang Bumiller
eb4e28d7bf remove async_await feature gate
then we can build with beta as well

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-28 10:10:06 +02:00
Wolfgang Bumiller
01de528fc3 fixups for new hyper alpha
Body's Streawm impl was put behind the 'unstable-stream'
feature, so we won't be using it for now.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-28 09:58:04 +02:00
Wolfgang Bumiller
29893d66ae put api macro crate behind 'api-macro' feature
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-28 09:54:39 +02:00
Wolfgang Bumiller
fd03b808ab tools: io::read: introduce read_host_value_boxed
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-11 14:40:42 +02:00
Wolfgang Bumiller
e692e69e14 remove Cargo.lock as we currently have no git dependencies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-11 09:26:00 +02:00
Wolfgang Bumiller
7864cef16d update hyper & tokio to alpha releases
tokio: alpha.2 to alpha.4
hyper: git alpha.0 to crates.io alpha.1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-06 10:13:32 +02:00
Wolfgang Bumiller
4e14a09551 cargo update
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-23 16:47:53 +02:00
Wolfgang Bumiller
5c5db5ccc1 tools: tests for static_assert_size macro
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-23 16:47:27 +02:00
Wolfgang Bumiller
f1351e7e41 tools: add a static size assertion
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-23 11:26:57 +02:00
Wolfgang Bumiller
e1ebf9b67e tools: borrow: use ManuallyDrop
While Option serves a similar purpose, ManuallyDrop is an
api more directed at what we're actually doing here.
Note that Option<Box<>> is sort of guaranteed to have the
same layout as Box<> mostly due to the fact that Box<>
cannot be null, whereas ManuallyDrop is always guaranteed to
be the same layout as the inner type.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:53:40 +02:00