This example demonstrates use of the MessageBus
component in KasperskyOS.
In this example, the Publisher
, SubscriberA
and SubscriberB
programs use the MessageBus component to exchange messages.
The MessageBus
component implements the message bus. The Publisher
program is the publisher that transfers messages to the bus. The SubscriberA
and SubscriberB
programs are the subscribers that receive messages from the bus.
The example also demonstrates the use of various virtual file systems (VFS) in a single solution. The example uses different VFS to access the functions for working with the file system and functions for working with the network:
VfsNet
program is used for working with the network.VfsSdCardFs
program is used to work with the file system.The kl.Ntpd
program is included in KasperskyOS Community Edition and is an implementation of an NTP client, which gets time parameters from external NTP servers in the background and passes them to the KasperskyOS kernel.
The kl.rump.Dhcpcd
program is included in KasperskyOS Community Edition and is an implementation of a DHCP client, which gets the parameters of network interfaces from an external DHCP server in the background and passes them to the virtual file system.
The CMake
system, which is included with KasperskyOS Community Edition, is used to build and run the example.
Example files
The code of the example and build scripts are available at the following path:
/opt/KasperskyOS-Community-Edition-<version>/examples/messagebus
Building and running example
See Building and running examples section.
To ensure that the messagebus
example will correctly run in Raspberry Pi, you must do the following after building the example and preparing your bootable SD card:
/lib
directory on the bootable SD card if this directory doesn't already exist.build/hdd/lib
directory that was generated when building the example and copy the directory contents to the /lib
directory on the bootable SD card.