Update README Samples

This commit is contained in:
2026-01-25 23:02:47 +05:30
parent 49340eaa7b
commit 117f0eadf7

View File

@ -43,12 +43,12 @@ IACore provides a manager/node architecture using shared memory.
#include <IACore/IPC.hpp> #include <IACore/IPC.hpp>
// Spawns a child process and connects via Shared Memory // Spawns a child process and connects via Shared Memory
auto nodeID = manager.SpawnNode("MyChildNodeExe"); auto nodeID = manager.spawn_node("MyChildNodeExe");
manager.WaitTillNodeIsOnline(*nodeID); manager.wait_till_node_is_online(*nodeID);
// Send data with zero-copy overhead // Send data with zero-copy overhead
String msg = "Hello Node"; String msg = "Hello Node";
manager.SendPacket(*nodeID, 100, {(PCUINT8)msg.data(), msg.size()}); manager.send_packet(*nodeID, 100, {(PCUINT8)msg.data(), msg.size()});
``` ```
#### Node: #### Node:
@ -57,11 +57,11 @@ manager.SendPacket(*nodeID, 100, {(PCUINT8)msg.data(), msg.size()});
class Node : public IACore::IPC_Node { class Node : public IACore::IPC_Node {
public: public:
void OnSignal(uint8_t signal) override { void on_signal(uint8_t signal) override {
// Handle signals // Handle signals
} }
void OnPacket(uint16_t packetID, std::span<const uint8_t> payload) override { void on_packet(uint16_t packet_id, std::span<const uint8_t> payload) override {
// Handle packets // Handle packets
} }
}; };
@ -72,10 +72,10 @@ int main(int argc, char* argv[]) {
Node node; Node node;
// Connect back to the manager via Shared Memory // Connect back to the manager via Shared Memory
if (!node.Connect(argv[1])) return -1; if (!node.connect(argv[1])) return -1;
while(true) { while(true) {
node.Update(); node.update();
} }
return 0; return 0;
} }
@ -87,25 +87,25 @@ int main(int argc, char* argv[]) {
#include <IACore/AsyncOps.hpp> #include <IACore/AsyncOps.hpp>
// Initialize worker threads (hardware_concurrency - 2) // Initialize worker threads (hardware_concurrency - 2)
IACore::AsyncOps::InitializeScheduler(); IACore::AsyncOps::initialize_scheduler();
// Schedule a task // Schedule a task
IACore::AsyncOps::Schedule *mySchedule = new IACore::AsyncOps::Schedule(); IACore::AsyncOps::Schedule *my_schedule = new IACore::AsyncOps::Schedule();
IACore::AsyncOps::ScheduleTask([](auto workerID) { IACore::AsyncOps::schedule_task([](auto worker_id) {
printf("Running on worker %d\n", workerID); printf("Running on worker %d\n", worker_id);
}, 0, mySchedule); }, 0, my_schedule);
// Wait for completion // Wait for completion
IACore::AsyncOps::WaitForScheduleCompletion(mySchedule); IACore::AsyncOps::wait_for_schedule_completion(my_schedule);
``` ```
### 3. HTTP Request ### 3. HTTP Request
```C++ ```C++
#include <IACore/HttpClient.hpp> #include <IACore/Http/Client.hpp>
IACore::HttpClient client("https://api.example.com"); IACore::HttpClient client("https://api.example.com");
auto res = client.JsonGet<MyResponseStruct>("/data", {}); auto res = client.json_get<MyResponseStruct>("/data", {});
if (res) { if (res) {
std::cout << "Data: " << res->value << "\n"; std::cout << "Data: " << res->value << "\n";