update to the (unreleased) version of servicepoint
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Rust / build (pull_request) Successful in 8m2s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Rust / build (pull_request) Successful in 8m2s
				
			This commit is contained in:
		
							parent
							
								
									a903cbed85
								
							
						
					
					
						commit
						63a2fd00b9
					
				
					 11 changed files with 94 additions and 304 deletions
				
			
		
							
								
								
									
										242
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										242
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							|  | @ -204,15 +204,6 @@ version = "0.1.6" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "block-buffer" |  | ||||||
| version = "0.10.4" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |  | ||||||
| dependencies = [ |  | ||||||
|  "generic-array", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "built" | name = "built" | ||||||
| version = "0.7.7" | version = "0.7.7" | ||||||
|  | @ -243,12 +234,6 @@ version = "0.1.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" | checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "bytes" |  | ||||||
| version = "1.10.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "cc" | name = "cc" | ||||||
| version = "1.2.16" | version = "1.2.16" | ||||||
|  | @ -455,15 +440,6 @@ dependencies = [ | ||||||
|  "libc", |  "libc", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "cpufeatures" |  | ||||||
| version = "0.2.17" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" |  | ||||||
| dependencies = [ |  | ||||||
|  "libc", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "crc32fast" | name = "crc32fast" | ||||||
| version = "1.4.2" | version = "1.4.2" | ||||||
|  | @ -504,16 +480,6 @@ version = "0.2.3" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" | checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "crypto-common" |  | ||||||
| version = "0.1.6" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" |  | ||||||
| dependencies = [ |  | ||||||
|  "generic-array", |  | ||||||
|  "typenum", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "ctrlc" | name = "ctrlc" | ||||||
| version = "3.4.5" | version = "3.4.5" | ||||||
|  | @ -524,12 +490,6 @@ dependencies = [ | ||||||
|  "windows-sys", |  "windows-sys", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "data-encoding" |  | ||||||
| version = "2.8.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "dbus" | name = "dbus" | ||||||
| version = "0.9.7" | version = "0.9.7" | ||||||
|  | @ -541,16 +501,6 @@ dependencies = [ | ||||||
|  "winapi", |  "winapi", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "digest" |  | ||||||
| version = "0.10.7" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |  | ||||||
| dependencies = [ |  | ||||||
|  "block-buffer", |  | ||||||
|  "crypto-common", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "dispatch" | name = "dispatch" | ||||||
| version = "0.2.0" | version = "0.2.0" | ||||||
|  | @ -649,12 +599,6 @@ dependencies = [ | ||||||
|  "miniz_oxide", |  "miniz_oxide", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "fnv" |  | ||||||
| version = "1.0.7" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "foreign-types" | name = "foreign-types" | ||||||
| version = "0.5.0" | version = "0.5.0" | ||||||
|  | @ -777,16 +721,6 @@ dependencies = [ | ||||||
|  "slab", |  "slab", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "generic-array" |  | ||||||
| version = "0.14.7" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |  | ||||||
| dependencies = [ |  | ||||||
|  "typenum", |  | ||||||
|  "version_check", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "getrandom" | name = "getrandom" | ||||||
| version = "0.2.15" | version = "0.2.15" | ||||||
|  | @ -795,19 +729,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "libc", |  "libc", | ||||||
|  "wasi 0.11.0+wasi-snapshot-preview1", |  "wasi", | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "getrandom" |  | ||||||
| version = "0.3.1" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" |  | ||||||
| dependencies = [ |  | ||||||
|  "cfg-if", |  | ||||||
|  "libc", |  | ||||||
|  "wasi 0.13.3+wasi-0.2.2", |  | ||||||
|  "windows-targets", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -848,23 +770,6 @@ version = "0.5.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "http" |  | ||||||
| version = "1.2.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" |  | ||||||
| dependencies = [ |  | ||||||
|  "bytes", |  | ||||||
|  "fnv", |  | ||||||
|  "itoa", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "httparse" |  | ||||||
| version = "1.10.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "humantime" | name = "humantime" | ||||||
| version = "2.1.0" | version = "2.1.0" | ||||||
|  | @ -946,12 +851,6 @@ dependencies = [ | ||||||
|  "either", |  "either", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "itoa" |  | ||||||
| version = "1.0.14" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "jobserver" | name = "jobserver" | ||||||
| version = "0.1.32" | version = "0.1.32" | ||||||
|  | @ -1363,7 +1262,7 @@ version = "0.2.20" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" | checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "zerocopy 0.7.35", |  "zerocopy", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -1431,19 +1330,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "libc", |  "libc", | ||||||
|  "rand_chacha 0.3.1", |  "rand_chacha", | ||||||
|  "rand_core 0.6.4", |  "rand_core", | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "rand" |  | ||||||
| version = "0.9.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" |  | ||||||
| dependencies = [ |  | ||||||
|  "rand_chacha 0.9.0", |  | ||||||
|  "rand_core 0.9.2", |  | ||||||
|  "zerocopy 0.8.21", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -1453,17 +1341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "ppv-lite86", |  "ppv-lite86", | ||||||
|  "rand_core 0.6.4", |  "rand_core", | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "rand_chacha" |  | ||||||
| version = "0.9.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" |  | ||||||
| dependencies = [ |  | ||||||
|  "ppv-lite86", |  | ||||||
|  "rand_core 0.9.2", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -1472,17 +1350,7 @@ version = "0.6.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "getrandom 0.2.15", |  "getrandom", | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "rand_core" |  | ||||||
| version = "0.9.2" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "7a509b1a2ffbe92afab0e55c8fd99dea1c280e8171bd2d88682bb20bc41cbc2c" |  | ||||||
| dependencies = [ |  | ||||||
|  "getrandom 0.3.1", |  | ||||||
|  "zerocopy 0.8.21", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -1511,8 +1379,8 @@ dependencies = [ | ||||||
|  "once_cell", |  "once_cell", | ||||||
|  "paste", |  "paste", | ||||||
|  "profiling", |  "profiling", | ||||||
|  "rand 0.8.5", |  "rand", | ||||||
|  "rand_chacha 0.3.1", |  "rand_chacha", | ||||||
|  "simd_helpers", |  "simd_helpers", | ||||||
|  "system-deps", |  "system-deps", | ||||||
|  "thiserror 1.0.69", |  "thiserror 1.0.69", | ||||||
|  | @ -1632,7 +1500,7 @@ dependencies = [ | ||||||
|  "dbus", |  "dbus", | ||||||
|  "objc", |  "objc", | ||||||
|  "pipewire", |  "pipewire", | ||||||
|  "rand 0.8.5", |  "rand", | ||||||
|  "screencapturekit", |  "screencapturekit", | ||||||
|  "screencapturekit-sys", |  "screencapturekit-sys", | ||||||
|  "sysinfo", |  "sysinfo", | ||||||
|  | @ -1701,16 +1569,14 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "servicepoint" | name = "servicepoint" | ||||||
| version = "0.13.2" | version = "0.14.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "git+https://git.berlin.ccc.de/servicepoint/servicepoint/?branch=next#8ddbaeaaa64a4abb8ffb8b08a3a84cc1135e312f" | ||||||
| checksum = "33abd53582a995aaf5d387be4a1f7eb294a084185f88f8cf61652b6272041660" |  | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "bitvec", |  "bitvec", | ||||||
|  "log", |  "log", | ||||||
|  "once_cell", |  "once_cell", | ||||||
|  "rust-lzma", |  "rust-lzma", | ||||||
|  "thiserror 2.0.11", |  "thiserror 2.0.11", | ||||||
|  "tungstenite", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -1726,17 +1592,6 @@ dependencies = [ | ||||||
|  "servicepoint", |  "servicepoint", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "sha1" |  | ||||||
| version = "0.10.6" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" |  | ||||||
| dependencies = [ |  | ||||||
|  "cfg-if", |  | ||||||
|  "cpufeatures", |  | ||||||
|  "digest", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "shlex" | name = "shlex" | ||||||
| version = "1.3.0" | version = "1.3.0" | ||||||
|  | @ -1927,29 +1782,6 @@ dependencies = [ | ||||||
|  "winnow", |  "winnow", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "tungstenite" |  | ||||||
| version = "0.26.2" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" |  | ||||||
| dependencies = [ |  | ||||||
|  "bytes", |  | ||||||
|  "data-encoding", |  | ||||||
|  "http", |  | ||||||
|  "httparse", |  | ||||||
|  "log", |  | ||||||
|  "rand 0.9.0", |  | ||||||
|  "sha1", |  | ||||||
|  "thiserror 2.0.11", |  | ||||||
|  "utf-8", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "typenum" |  | ||||||
| version = "1.18.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "unicode-ident" | name = "unicode-ident" | ||||||
| version = "1.0.17" | version = "1.0.17" | ||||||
|  | @ -1968,12 +1800,6 @@ version = "0.1.14" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "utf-8" |  | ||||||
| version = "0.7.6" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "utf8parse" | name = "utf8parse" | ||||||
| version = "0.2.2" | version = "0.2.2" | ||||||
|  | @ -2003,27 +1829,12 @@ version = "0.2.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" | checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "version_check" |  | ||||||
| version = "0.9.5" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "wasi" | name = "wasi" | ||||||
| version = "0.11.0+wasi-snapshot-preview1" | version = "0.11.0+wasi-snapshot-preview1" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "wasi" |  | ||||||
| version = "0.13.3+wasi-0.2.2" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" |  | ||||||
| dependencies = [ |  | ||||||
|  "wit-bindgen-rt", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "wasm-bindgen" | name = "wasm-bindgen" | ||||||
| version = "0.2.100" | version = "0.2.100" | ||||||
|  | @ -2289,15 +2100,6 @@ dependencies = [ | ||||||
|  "memchr", |  "memchr", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "wit-bindgen-rt" |  | ||||||
| version = "0.33.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" |  | ||||||
| dependencies = [ |  | ||||||
|  "bitflags 2.8.0", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "wyz" | name = "wyz" | ||||||
| version = "0.5.1" | version = "0.5.1" | ||||||
|  | @ -2323,16 +2125,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "byteorder", |  "byteorder", | ||||||
|  "zerocopy-derive 0.7.35", |  "zerocopy-derive", | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] |  | ||||||
| name = "zerocopy" |  | ||||||
| version = "0.8.21" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "dcf01143b2dd5d134f11f545cf9f1431b13b749695cb33bcce051e7568f99478" |  | ||||||
| dependencies = [ |  | ||||||
|  "zerocopy-derive 0.8.21", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
|  | @ -2346,17 +2139,6 @@ dependencies = [ | ||||||
|  "syn", |  "syn", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "zerocopy-derive" |  | ||||||
| version = "0.8.21" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "712c8386f4f4299382c9abee219bee7084f78fb939d88b6840fcc1320d5f6da2" |  | ||||||
| dependencies = [ |  | ||||||
|  "proc-macro2", |  | ||||||
|  "quote", |  | ||||||
|  "syn", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "zune-core" | name = "zune-core" | ||||||
| version = "0.4.12" | version = "0.4.12" | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								Cargo.toml
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								Cargo.toml
									
										
									
									
									
								
							|  | @ -13,10 +13,20 @@ homepage = "https://crates.io/crates/servicepoint-cli" | ||||||
| keywords = ["cccb", "cccb-servicepoint", "cli"] | keywords = ["cccb", "cccb-servicepoint", "cli"] | ||||||
| 
 | 
 | ||||||
| [dependencies] | [dependencies] | ||||||
| servicepoint = { version = "0.13.2", features = ["protocol_websocket"] } |  | ||||||
| clap = { version = "4.5", features = ["derive"] } | clap = { version = "4.5", features = ["derive"] } | ||||||
| env_logger = "0.11" | env_logger = "0.11" | ||||||
| log = "0.4" | log = "0.4" | ||||||
| scap = "0.0.8" | scap = "0.0.8" | ||||||
| image = "0.25.5" | image = "0.25.5" | ||||||
| fast_image_resize = { version = "5.1.2", features = ["image"] } | fast_image_resize = { version = "5.1.2", features = ["image"] } | ||||||
|  | 
 | ||||||
|  | [dependencies.servicepoint] | ||||||
|  | package = "servicepoint" | ||||||
|  | version = "0.14.0" | ||||||
|  | git = "https://git.berlin.ccc.de/servicepoint/servicepoint/" | ||||||
|  | branch = "next" | ||||||
|  | 
 | ||||||
|  | [profile.release] | ||||||
|  | lto = true          # Enable link-time optimization | ||||||
|  | codegen-units = 1   # Reduce number of codegen units to increase optimizations | ||||||
|  | strip = true        # Strip symbols from binary | ||||||
|  |  | ||||||
|  | @ -1,8 +1,9 @@ | ||||||
|  | use std::net::UdpSocket; | ||||||
| use crate::cli::BrightnessCommand; | use crate::cli::BrightnessCommand; | ||||||
| use log::info; | use log::info; | ||||||
| use servicepoint::{Brightness, Command, Connection}; | use servicepoint::{Brightness, GlobalBrightnessCommand, SendCommandExt}; | ||||||
| 
 | 
 | ||||||
| pub(crate) fn brightness(connection: &Connection, brightness_command: BrightnessCommand) { | pub(crate) fn brightness(connection: &UdpSocket, brightness_command: BrightnessCommand) { | ||||||
|     match brightness_command { |     match brightness_command { | ||||||
|         BrightnessCommand::Max => brightness_set(connection, Brightness::MAX), |         BrightnessCommand::Max => brightness_set(connection, Brightness::MAX), | ||||||
|         BrightnessCommand::Min => brightness_set(connection, Brightness::MIN), |         BrightnessCommand::Min => brightness_set(connection, Brightness::MIN), | ||||||
|  | @ -12,9 +13,9 @@ pub(crate) fn brightness(connection: &Connection, brightness_command: Brightness | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub(crate) fn brightness_set(connection: &Connection, brightness: Brightness) { | pub(crate) fn brightness_set(connection: &UdpSocket, brightness: Brightness) { | ||||||
|     connection |     connection | ||||||
|         .send(Command::Brightness(brightness)) |         .send_command(GlobalBrightnessCommand::from(brightness)) | ||||||
|         .expect("Failed to set brightness"); |         .expect("Failed to set brightness"); | ||||||
|     info!("set brightness to {brightness:?}"); |     info!("set brightness to {brightness:?}"); | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										28
									
								
								src/cli.rs
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								src/cli.rs
									
										
									
									
									
								
							|  | @ -12,14 +12,14 @@ pub struct Cli { | ||||||
|         default_value = "127.0.0.1:2342" |         default_value = "127.0.0.1:2342" | ||||||
|     )] |     )] | ||||||
|     pub destination: String, |     pub destination: String, | ||||||
|     #[arg(
 |     //#[arg(
 | ||||||
|         short, |     //    short,
 | ||||||
|         long, |     //    long,
 | ||||||
|         help = "protocol to use for communication with display", |     //    help = "protocol to use for communication with display",
 | ||||||
|         value_enum, |     //    value_enum,
 | ||||||
|         default_value = "udp" |     //    default_value = "udp"
 | ||||||
|     )] |     //)]
 | ||||||
|     pub transport: Protocol, |     //pub transport: Protocol,
 | ||||||
|     #[clap(subcommand)] |     #[clap(subcommand)] | ||||||
|     pub command: Mode, |     pub command: Mode, | ||||||
|     #[clap(short, long, help = "verbose logging")] |     #[clap(short, long, help = "verbose logging")] | ||||||
|  | @ -103,12 +103,12 @@ pub enum BrightnessCommand { | ||||||
|     Min, |     Min, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[derive(clap::ValueEnum, Clone, Debug)] | //#[derive(clap::ValueEnum, Clone, Debug)]
 | ||||||
| pub enum Protocol { | //pub enum Protocol {
 | ||||||
|     Udp, | //    Udp,
 | ||||||
|     WebSocket, | //    WebSocket,
 | ||||||
|     Fake, | //    Fake,
 | ||||||
| } | //}
 | ||||||
| 
 | 
 | ||||||
| #[derive(clap::Parser, std::fmt::Debug)] | #[derive(clap::Parser, std::fmt::Debug)] | ||||||
| #[clap(about = "Commands for sending text to the screen")] | #[clap(about = "Commands for sending text to the screen")] | ||||||
|  |  | ||||||
|  | @ -100,7 +100,7 @@ impl ImageProcessingPipeline { | ||||||
|         let result = if self.options.no_dither { |         let result = if self.options.no_dither { | ||||||
|             let cutoff = median_brightness(&orig); |             let cutoff = median_brightness(&orig); | ||||||
|             let bits = orig.iter().map(move |x| x > &cutoff).collect(); |             let bits = orig.iter().map(move |x| x > &cutoff).collect(); | ||||||
|             Bitmap::from_bitvec(orig.width() as usize, bits) |             Bitmap::from_bitvec(orig.width() as usize, bits).unwrap() | ||||||
|         } else { |         } else { | ||||||
|             ostromoukhov_dither(orig, u8::MAX / 2) |             ostromoukhov_dither(orig, u8::MAX / 2) | ||||||
|         }; |         }; | ||||||
|  | @ -113,7 +113,7 @@ impl ImageProcessingPipeline { | ||||||
| 
 | 
 | ||||||
|         let width = source.width(); |         let width = source.width(); | ||||||
|         let result_height = Self::calc_height_without_spacers(source.height()); |         let result_height = Self::calc_height_without_spacers(source.height()); | ||||||
|         let mut result = Bitmap::new(width, result_height); |         let mut result = Bitmap::new(width, result_height).unwrap(); | ||||||
| 
 | 
 | ||||||
|         let mut source_y = 0; |         let mut source_y = 0; | ||||||
|         for result_y in 0..result_height { |         for result_y in 0..result_height { | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| //! Based on https://github.com/WarkerAnhaltRanger/CCCB_Ledwand
 | //! Based on https://github.com/WarkerAnhaltRanger/CCCB_Ledwand
 | ||||||
| 
 | 
 | ||||||
| use image::GrayImage; | use image::GrayImage; | ||||||
| use servicepoint::{BitVec, Bitmap, PIXEL_HEIGHT}; | use servicepoint::{BitVecU8Msb0, Bitmap, PIXEL_HEIGHT}; | ||||||
| 
 | 
 | ||||||
| type GrayHistogram = [usize; 256]; | type GrayHistogram = [usize; 256]; | ||||||
| 
 | 
 | ||||||
|  | @ -169,7 +169,7 @@ pub(crate) fn ostromoukhov_dither(source: GrayImage, bias: u8) -> Bitmap { | ||||||
|     assert_eq!(width % 8, 0); |     assert_eq!(width % 8, 0); | ||||||
| 
 | 
 | ||||||
|     let mut source = source.into_raw(); |     let mut source = source.into_raw(); | ||||||
|     let mut destination = BitVec::repeat(false, source.len()); |     let mut destination = BitVecU8Msb0::repeat(false, source.len()); | ||||||
| 
 | 
 | ||||||
|     for y in 0..height as usize { |     for y in 0..height as usize { | ||||||
|         let start = y * width as usize; |         let start = y * width as usize; | ||||||
|  | @ -200,13 +200,13 @@ pub(crate) fn ostromoukhov_dither(source: GrayImage, bias: u8) -> Bitmap { | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     Bitmap::from_bitvec(width as usize, destination) |     Bitmap::from_bitvec(width as usize, destination).unwrap() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[inline] | #[inline] | ||||||
| fn ostromoukhov_dither_pixel( | fn ostromoukhov_dither_pixel( | ||||||
|     source: &mut [u8], |     source: &mut [u8], | ||||||
|     destination: &mut BitVec, |     destination: &mut BitVecU8Msb0, | ||||||
|     position: usize, |     position: usize, | ||||||
|     width: usize, |     width: usize, | ||||||
|     last_row: bool, |     last_row: bool, | ||||||
|  |  | ||||||
							
								
								
									
										23
									
								
								src/main.rs
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								src/main.rs
									
										
									
									
									
								
							|  | @ -1,12 +1,13 @@ | ||||||
|  | use std::net::UdpSocket; | ||||||
| use crate::{ | use crate::{ | ||||||
|     brightness::{brightness, brightness_set}, |     brightness::{brightness, brightness_set}, | ||||||
|     cli::{Cli, Mode, Protocol}, |     cli::{Cli, Mode}, | ||||||
|     pixels::{pixels, pixels_off}, |     pixels::{pixels, pixels_off}, | ||||||
|     text::text |     text::text | ||||||
| }; | }; | ||||||
| use clap::Parser; | use clap::Parser; | ||||||
| use log::debug; | use log::debug; | ||||||
| use servicepoint::{Brightness, Connection}; | use servicepoint::{Brightness, UdpSocketExt}; | ||||||
| 
 | 
 | ||||||
| mod brightness; | mod brightness; | ||||||
| mod cli; | mod cli; | ||||||
|  | @ -22,13 +23,14 @@ fn main() { | ||||||
|     init_logging(cli.verbose); |     init_logging(cli.verbose); | ||||||
|     debug!("running with arguments: {:?}", cli); |     debug!("running with arguments: {:?}", cli); | ||||||
| 
 | 
 | ||||||
|     let connection = make_connection(cli.destination, cli.transport); |     let connection = UdpSocket::bind_connect(cli.destination) | ||||||
|  |         .expect("Failed to connect"); | ||||||
|     debug!("connection established: {:#?}", connection); |     debug!("connection established: {:#?}", connection); | ||||||
| 
 | 
 | ||||||
|     execute_mode(cli.command, connection); |     execute_mode(cli.command, connection); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn execute_mode(mode: Mode, connection: Connection) { | pub fn execute_mode(mode: Mode, connection: UdpSocket) { | ||||||
|     match mode { |     match mode { | ||||||
|         Mode::ResetEverything => { |         Mode::ResetEverything => { | ||||||
|             brightness_set(&connection, Brightness::MAX); |             brightness_set(&connection, Brightness::MAX); | ||||||
|  | @ -40,19 +42,6 @@ pub fn execute_mode(mode: Mode, connection: Connection) { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn make_connection(destination: String, transport: Protocol) -> Connection { |  | ||||||
|     match transport { |  | ||||||
|         Protocol::Udp => Connection::open(destination).expect("Failed to open UDP connection"), |  | ||||||
|         Protocol::WebSocket => { |  | ||||||
|             let url = destination.parse().expect( |  | ||||||
|                 "provided destination is not a valid url - make sure it starts with 'ws://'", |  | ||||||
|             ); |  | ||||||
|             Connection::open_websocket(url).expect("Failed to open WebSocket connection") |  | ||||||
|         } |  | ||||||
|         Protocol::Fake => Connection::Fake, |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| fn init_logging(debug: bool) { | fn init_logging(debug: bool) { | ||||||
|     let filter = if debug { |     let filter = if debug { | ||||||
|         log::LevelFilter::Debug |         log::LevelFilter::Debug | ||||||
|  |  | ||||||
|  | @ -1,12 +1,13 @@ | ||||||
|  | use std::net::UdpSocket; | ||||||
| use crate::{ | use crate::{ | ||||||
|     image_processing::ImageProcessingPipeline, |     image_processing::ImageProcessingPipeline, | ||||||
|     cli::{ImageProcessingOptions, PixelCommand, SendImageOptions}, |     cli::{ImageProcessingOptions, PixelCommand, SendImageOptions}, | ||||||
|     stream_window::stream_window |     stream_window::stream_window | ||||||
| }; | }; | ||||||
| use log::info; | use log::info; | ||||||
| use servicepoint::{BitVec, Command, CompressionCode, Connection, Origin, PIXEL_COUNT}; | use servicepoint::{BinaryOperation, BitVecCommand, BitVecU8Msb0, BitmapCommand, ClearCommand, CompressionCode, Origin, SendCommandExt, PIXEL_COUNT}; | ||||||
| 
 | 
 | ||||||
| pub(crate) fn pixels(connection: &Connection, pixel_command: PixelCommand) { | pub(crate) fn pixels(connection: &UdpSocket, pixel_command: PixelCommand) { | ||||||
|     match pixel_command { |     match pixel_command { | ||||||
|         PixelCommand::Off => pixels_off(connection), |         PixelCommand::Off => pixels_off(connection), | ||||||
|         PixelCommand::Flip => pixels_invert(connection), |         PixelCommand::Flip => pixels_invert(connection), | ||||||
|  | @ -22,31 +23,33 @@ pub(crate) fn pixels(connection: &Connection, pixel_command: PixelCommand) { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn pixels_on(connection: &Connection) { | fn pixels_on(connection: &UdpSocket) { | ||||||
|     let mask = BitVec::repeat(true, PIXEL_COUNT); |     let mask = BitVecU8Msb0::repeat(true, PIXEL_COUNT); | ||||||
|  |     let command = BitVecCommand{offset: 0, bitvec: mask, compression: CompressionCode::Lzma, operation: BinaryOperation::Overwrite}; | ||||||
|     connection |     connection | ||||||
|         .send(Command::BitmapLinear(0, mask, CompressionCode::Lzma)) |         .send_command(command) | ||||||
|         .expect("could not send command"); |         .expect("could not send command"); | ||||||
|     info!("turned on all pixels") |     info!("turned on all pixels") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn pixels_invert(connection: &Connection) { | fn pixels_invert(connection: &UdpSocket) { | ||||||
|     let mask = BitVec::repeat(true, PIXEL_COUNT); |     let mask = BitVecU8Msb0::repeat(true, PIXEL_COUNT); | ||||||
|  |     let command = BitVecCommand{offset: 0, bitvec: mask, compression: CompressionCode::Lzma, operation: BinaryOperation::Xor}; | ||||||
|     connection |     connection | ||||||
|         .send(Command::BitmapLinearXor(0, mask, CompressionCode::Lzma)) |         .send_command(command) | ||||||
|         .expect("could not send command"); |         .expect("could not send command"); | ||||||
|     info!("inverted all pixels"); |     info!("inverted all pixels"); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub(crate) fn pixels_off(connection: &Connection) { | pub(crate) fn pixels_off(connection: &UdpSocket) { | ||||||
|     connection |     connection | ||||||
|         .send(Command::Clear) |         .send_command(ClearCommand) | ||||||
|         .expect("failed to clear pixels"); |         .expect("failed to clear pixels"); | ||||||
|     info!("reset pixels"); |     info!("reset pixels"); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn pixels_image( | fn pixels_image( | ||||||
|     connection: &Connection, |     connection: &UdpSocket, | ||||||
|     options: SendImageOptions, |     options: SendImageOptions, | ||||||
|     processing_options: ImageProcessingOptions, |     processing_options: ImageProcessingOptions, | ||||||
| ) { | ) { | ||||||
|  | @ -54,11 +57,11 @@ fn pixels_image( | ||||||
|     let mut pipeline = ImageProcessingPipeline::new(processing_options); |     let mut pipeline = ImageProcessingPipeline::new(processing_options); | ||||||
|     let bitmap = pipeline.process(image); |     let bitmap = pipeline.process(image); | ||||||
|     connection |     connection | ||||||
|         .send(Command::BitmapLinearWin( |         .send_command(BitmapCommand { | ||||||
|             Origin::ZERO, |             origin: Origin::ZERO, | ||||||
|             bitmap, |             bitmap, | ||||||
|             CompressionCode::default(), |             compression: CompressionCode::default(), | ||||||
|         )) |         }) | ||||||
|         .expect("failed to send image command"); |         .expect("failed to send image command"); | ||||||
|     info!("sent image to display"); |     info!("sent image to display"); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,8 +1,9 @@ | ||||||
|  | use std::net::UdpSocket; | ||||||
| use log::warn; | use log::warn; | ||||||
| use servicepoint::*; | use servicepoint::*; | ||||||
| use std::thread::sleep; | use std::thread::sleep; | ||||||
| 
 | 
 | ||||||
| pub(crate) fn stream_stdin(connection: &Connection, slow: bool) { | pub(crate) fn stream_stdin(connection: &UdpSocket, slow: bool) { | ||||||
|     warn!("This mode will break when using multi-byte characters and does not support ANSI escape sequences yet."); |     warn!("This mode will break when using multi-byte characters and does not support ANSI escape sequences yet."); | ||||||
|     let mut app = App { |     let mut app = App { | ||||||
|         connection, |         connection, | ||||||
|  | @ -14,7 +15,7 @@ pub(crate) fn stream_stdin(connection: &Connection, slow: bool) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| struct App<'t> { | struct App<'t> { | ||||||
|     connection: &'t Connection, |     connection: &'t UdpSocket, | ||||||
|     mirror: CharGrid, |     mirror: CharGrid, | ||||||
|     y: usize, |     y: usize, | ||||||
|     slow: bool, |     slow: bool, | ||||||
|  | @ -23,7 +24,7 @@ struct App<'t> { | ||||||
| impl App<'_> { | impl App<'_> { | ||||||
|     fn run(&mut self) { |     fn run(&mut self) { | ||||||
|         self.connection |         self.connection | ||||||
|             .send(Command::Clear) |             .send_command(ClearCommand) | ||||||
|             .expect("couldn't clear screen"); |             .expect("couldn't clear screen"); | ||||||
|         let last_y = self.mirror.height() - 1; |         let last_y = self.mirror.height() - 1; | ||||||
|         for line in std::io::stdin().lines() { |         for line in std::io::stdin().lines() { | ||||||
|  | @ -63,10 +64,10 @@ impl App<'_> { | ||||||
| 
 | 
 | ||||||
|     fn send_mirror(&self) { |     fn send_mirror(&self) { | ||||||
|         self.connection |         self.connection | ||||||
|             .send(Command::Utf8Data( |             .send_command(CharGridCommand { | ||||||
|                 Origin::ZERO, |                 origin: Origin::ZERO, | ||||||
|                 self.mirror.clone(), |                 grid: self.mirror.clone(), | ||||||
|             )) |             }) | ||||||
|             .expect("couldn't send screen to display"); |             .expect("couldn't send screen to display"); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -76,7 +77,10 @@ impl App<'_> { | ||||||
|         Self::line_onto_grid(&mut line_grid, 0, line); |         Self::line_onto_grid(&mut line_grid, 0, line); | ||||||
|         Self::line_onto_grid(&mut self.mirror, self.y, line); |         Self::line_onto_grid(&mut self.mirror, self.y, line); | ||||||
|         self.connection |         self.connection | ||||||
|             .send(Command::Utf8Data(Origin::new(0, self.y), line_grid)) |             .send_command(CharGridCommand { | ||||||
|  |                 origin: Origin::new(0, self.y), 
 | ||||||
|  |                 grid: line_grid | ||||||
|  |             }) | ||||||
|             .expect("couldn't send single line to screen"); |             .expect("couldn't send single line to screen"); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
|  | use std::net::UdpSocket; | ||||||
| use crate::{ | use crate::{ | ||||||
|     cli::{ImageProcessingOptions, StreamScreenOptions}, |     cli::{ImageProcessingOptions, StreamScreenOptions}, | ||||||
|     image_processing::ImageProcessingPipeline, |     image_processing::ImageProcessingPipeline, | ||||||
|  | @ -9,11 +10,11 @@ use scap::{ | ||||||
|     frame::convert_bgra_to_rgb, |     frame::convert_bgra_to_rgb, | ||||||
|     frame::Frame, |     frame::Frame, | ||||||
| }; | }; | ||||||
| use servicepoint::{Command, CompressionCode, Connection, Origin, FRAME_PACING}; | use servicepoint::{BitmapCommand, CompressionCode, Origin, SendCommandExt, FRAME_PACING}; | ||||||
| use std::time::{Duration, Instant}; | use std::time::{Duration, Instant}; | ||||||
| 
 | 
 | ||||||
| pub fn stream_window( | pub fn stream_window( | ||||||
|     connection: &Connection, |     connection: &UdpSocket, | ||||||
|     options: StreamScreenOptions, |     options: StreamScreenOptions, | ||||||
|     processing_options: ImageProcessingOptions, |     processing_options: ImageProcessingOptions, | ||||||
| ) { | ) { | ||||||
|  | @ -36,11 +37,11 @@ pub fn stream_window( | ||||||
|         trace!("bitmap ready to send in: {:?}", start.elapsed()); |         trace!("bitmap ready to send in: {:?}", start.elapsed()); | ||||||
| 
 | 
 | ||||||
|         connection |         connection | ||||||
|             .send(Command::BitmapLinearWin( |             .send_command(BitmapCommand { | ||||||
|                 Origin::ZERO, |                 origin: Origin::ZERO, | ||||||
|                 bitmap.clone(), |                 bitmap: bitmap.clone(), | ||||||
|                 CompressionCode::default(), |                 compression: CompressionCode::default(), | ||||||
|             )) |             }) | ||||||
|             .expect("failed to send frame to display"); |             .expect("failed to send frame to display"); | ||||||
| 
 | 
 | ||||||
|         debug!("frame time: {:?}", start.elapsed()); |         debug!("frame time: {:?}", start.elapsed()); | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| use servicepoint::Connection; | use std::net::UdpSocket; | ||||||
| use crate::cli::TextCommand; | use crate::cli::TextCommand; | ||||||
| use crate::stream_stdin::stream_stdin; | use crate::stream_stdin::stream_stdin; | ||||||
| 
 | 
 | ||||||
| pub fn text(connection: &Connection, command: TextCommand) { | pub fn text(connection: &UdpSocket, command: TextCommand) { | ||||||
|    match command { TextCommand::Stdin  { slow } => stream_stdin(connection, slow), } |    match command { TextCommand::Stdin  { slow } => stream_stdin(connection, slow), } | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Vinzenz Schroeter
						Vinzenz Schroeter