Sample code for 30+ languages & platforms
Zig

Sleep for a Number of Milliseconds (FTP Utility)

See more FTP Examples

Demonstrates the Chilkat Ftp2.SleepMs method, which blocks the calling thread for a number of milliseconds. The only argument is the millisecond count. It performs no FTP network operation.

Background: This is a plain convenience wrapper around a thread sleep, provided so scripts and generated examples can pause without pulling in a language-specific timing API. Typical uses are inserting a short delay between polling attempts, or giving a finicky server a moment between operations. It does nothing FTP-specific.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // Demonstrates the Ftp2.SleepMs method, which blocks the calling thread for a number of
    // milliseconds.  The only argument is the number of milliseconds.  It performs no FTP network
    // operation.

    const ftp = try chilkat.Ftp2.init();
    defer ftp.deinit();

    ftp.setHostname("ftp.example.com");
    ftp.setUsername("myFtpLogin");

    // Normally you would not hard-code the password in source.  You should instead obtain it
    // from an interactive prompt, environment variable, or a secrets vault.
    ftp.setPassword("myPassword");

    ftp.connect() catch {
        std.debug.print("{s}\n", .{try ftp.getLastErrorText(alloc)});
        return;
    };

    // A small pause can be useful when polling or when a server needs a moment between operations.
    const millisec = 500;
    ftp.sleepMs(millisec);
    std.debug.print("Waited half a second.\n", .{});

    ftp.disconnect() catch {
        std.debug.print("{s}\n", .{try ftp.getLastErrorText(alloc)});
        return;
    };
}