libschc adalah implementasi C dari Kompresi Header Konteks Statis, yang dirancang oleh IETF. Ini adalah teknik kompresi header, yang digunakan dalam Jaringan Area Luas Berdaya Rendah untuk memungkinkan mikrokontroler kecil berdaya rendah memiliki koneksi IPv6 ujung ke ujung. Repositori ini berisi mekanisme kompresi dan fragmentasi. Untuk informasi lebih lanjut terkait SCHC, lihat https://datatracker.ietf.org/doc/draft-ietf-lpwan-ipv6-static-context-hc/.
Lihat dokumen dan makalah evaluasi kami untuk informasi lebih lanjut tentang implementasi dan konfigurasi.
libschc telah dikembangkan sebagian dengan dukungan VLAIO, FWO dan imec. Ini juga merupakan bagian dari tumpukan middleware IoT, yang sedang dikembangkan untuk proyek Horizon 2020 PortForward Uni Eropa, di mana, antara lain, LwM2M diintegrasikan dengan perpustakaan ini untuk menghadirkan konektivitas sensor-Cloud berbasis standar terbuka.
Karena implementasi ini masih dalam proses, ada beberapa batasan yang harus Anda ingat.
Perpustakaan telah dirancang sedemikian rupa sehingga dapat digunakan pada perangkat yang terbatas, serta pada perangkat sisi server yang lebih kuat. Sebagai konsekuensinya, alokasi memori dan perhitungan intensif memori dapat dihindari. Aritmatika titik tetap digunakan untuk mikroprosesor 8-bit, namun beberapa optimasi dimungkinkan. Akibatnya, aturan dibuat dari array 8-bit, tersedia di semua perangkat. Alokasi memori dinamis dihilangkan karena fragmentasi memori akan terjadi dan kinerja akan menurun, karena banyak MCU tidak dilengkapi dengan Memory Management Units (MMU). Namun untuk gateway jaringan, alokasi memori dinamis harus diterapkan untuk beberapa fungsi untuk menghindari pra-alokasi memori yang besar.
Implementasi saat ini didasarkan pada RFC 8724 (https://datatracker.ietf.org/doc/html/rfc8724/), tetapi ada beberapa fitur yang hilang. Kebanyakan dari mereka terdaftar dalam issues
di repositori ini.
Harap diingat bahwa perpustakaan berfungsi, tetapi masih bersifat eksperimental!
Dalam contoh folder disediakan contoh kompresi dasar dan fragmentasi. Contoh fragmentasi menggunakan pustaka pengatur waktu dan harus disesuaikan dengan platform Anda (lihat Fragmentasi dan folder contoh).
libschc memiliki lisensi ganda. Lisensi Publik Umum GNU, Versi 3 ("Lisensi") adalah lisensi sumber terbuka: Anda tidak boleh menggunakan berkas ini kecuali sesuai dengan Lisensi. Anda dapat memperoleh salinan Lisensi di https://www.gnu.org/licenses/gpl-3.0.nl.html
Lihat Lisensi untuk bahasa tertentu yang mengatur izin dan batasan berdasarkan Lisensi.
Untuk lisensi non-sumber terbuka, silakan kunjungi https://imec.flintbox.com/#technologies/36dfa28f-bf48-4a34-8c29-4439fc41d563
© Hak Cipta 2018-2023, Bart Moons [email protected], imec dan Universitas Ghent