Osmo io » History » Version 5
laforge, 03/14/2024 07:42 AM
1 | 1 | laforge | h1. osmo_io |
---|---|---|---|
2 | |||
3 | 3 | laforge | @osmo_io@ is the new (2023) way of ho we do I/O in osmocom projects. It moves from a raw select/poll abstraction (where every application performs its own read/write once the fd becomes readble/writable) to a submission/completion model, where the actual I/O is performed by the library, an the application just submits write requests (as @struct msgb@) and receives write-completion and read-completion call-backs. |
4 | 1 | laforge | |
5 | For more information, see: FIXME |
||
6 | |||
7 | 3 | laforge | API reference at https://ftp.osmocom.org/api/latest/libosmocore/core/html/osmo__io_8c.html#details |
8 | |||
9 | 1 | laforge | h2. Implementation status |
10 | |||
11 | 2 | laforge | The below tables indicate the implementation status of the osmo_io migration: |
12 | 1 | laforge | |
13 | 2 | laforge | h3. Libraries |
14 | |||
15 | 1 | laforge | |_.library/interface|_.protocol|_.transport|_.users|_.commit| |
16 | |libosmo-mgcp-client|MGCP|UDP|osmo-bsc, osmo-msc, osmo-hnbgw|"osmo-mgw":https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw/commit/8b524c9151177d681b35332146d7628fafd82846| |
||
17 | |libosmogb ns2|NS|UDP|osmo-pcu, osmo-gbproxy, osmo-sgsn|"libosmocore":https://gitea.osmocom.org/osmocom/libosmocore/commit/eb9edbab54463cb705ec7b770e022a215ce503c7| |
||
18 | |libosmo-netif|stream_cli|TCP|libosmo-sigtran(ipa), osmo-bsc(cbsp), osmo-cbc(cbsp)|"libosmo-netif":https://gitea.osmocom.org/osmocom/libosmo-netif/commit/0e7028f742dedefd9fccc2d5b26875fca4036f58| |
||
19 | |libosmo-netif|stream_cli|SCTP|libosmo-sigtran|"libosmo-netif":https://gitea.osmocom.org/osmocom/libosmo-netif/commit/7e6d2e0f99ff095f4714f03b1ed991d6c9cb9c61| |
||
20 | 4 | laforge | |libosmo-sigtran|xUA ASP (SUA, M3UA)|SCTP|osmo-bsc, osmo-msc, osmo-sgsn, osmo-hnbgw, osmo-smlc|"libosmo-sigtran":https://gitea.osmocom.org/osmocom/libosmo-sccp/commit/9257cd896e255403822bee6f87f5487a92fd3c11| |
21 | 2 | laforge | |
22 | h3. Program |
||
23 | |||
24 | |_.program|_.Interface/protocol|_.transport|_.commit| |
||
25 | |osmo-gbproxy|Gb/NS|UDP|indirect via "libosmogb ns2":https://gitea.osmocom.org/osmocom/libosmocore/commit/eb9edbab54463cb705ec7b770e022a215ce503c7| |
||
26 | |osmo-bsc|CBSP|TCP client+server|"osmo-bsc":https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc/commit/85687bf176e4b9663f2396a27c28b49221c72fa3| |
||
27 | |osmo-bsc|meas_feed|UDP|"osmo-bsc":https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc/commit/ea388e1db1465afdcfd2796336732d29d80a2b9f| |
||
28 | 1 | laforge | |osmo-bsc|MGCP|UDP|indirect via libosmo-mgcp-client| |
29 | 4 | laforge | |osmo-bsc|M3UA/SUA/IPA|SCTP/TCP|indirect via libosmo-sigtran| |
30 | 1 | laforge | |osmo-hnbgw|MGCP|UDP|indirect via libosmo-mgcp-client| |
31 | 4 | laforge | |osmo-hnbgw|M3UA/SUA/IPA|SCTP/TCP|indirect via libosmo-sigtran| |
32 | 1 | laforge | |osmo-msc|MGCP|UDP|indirect via libosmo-mgcp-client| |
33 | 4 | laforge | |osmo-msc|M3UA/SUA/IPA|SCTP/TCP|indirect via libosmo-sigtran| |
34 | |osmo-sgsn|M3UA/SUA/IPA|SCTP/TCP|indirect via libosmo-sigtran| |
||
35 | |osmo-sgsn|Gb/NS|UDP|indirect via "libosmogb ns2":https://gitea.osmocom.org/osmocom/libosmocore/commit/eb9edbab54463cb705ec7b770e022a215ce503c7| |
||
36 | 1 | laforge | |osmo-smlc|M3UA/SUA/IPA|SCTP/TCP|indirect via libosmo-sigtran| |
37 | 5 | laforge | |osmo-stp|M3UA/SUA/IPA|SCTP/TCP|indirect via libosmo-sigtran| |