summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-05-07mscp: maintain mscp_thread structs in listRyo Nakamura
Instead of m->threads array, struct mscp_thread instanes are maintained in m->thread_list. This enables stable counter access via mscp_get_stats().
2023-04-05main: add a white space to the elapsed time outputRyo Nakamura
It adjusts the position of XX:XX in elapsed timeou output.
2023-04-05main: print elapsed time instead ETA at the endRyo Nakamura
2023-03-26Merge branch 'main' of github.com:upa/mscpRyo Nakamura
2023-03-25fix error handling when scan thread failed.Ryo Nakamura
set chunk pool to fill to invoke copy threads when scan failed.
2023-03-22fix invalid return semRyo Nakamura
2023-03-16do not sem_close() for unnamed semaphoreRyo Nakamura
2023-03-16fix semaphore handling for macOSRyo Nakamura
2023-03-15add sem_create(), wrappign sem_init() for linux and sem_open() for macOSRyo Nakamura
2023-03-15linux also needs stdlib.h for random()Ryo Nakamura
2023-03-15macOS does not support sem_init. use sem_open insteadRyo Nakamura
2023-03-15add comment to mscp_scan(), why usleep(100)Ryo Nakamura
2023-03-15rename mscp_prepare to mscp_scanRyo Nakamura
2023-03-15set m->tid_prepare 0 to avoid duble joinRyo Nakamura
2023-03-15mscp: add -u max_startups option.Ryo Nakamura
pymscp also accepts keyword 'max_startups' (int).
2023-03-15fix: when msg_fd is 0, use STDOUT_FILENORyo Nakamura
2023-03-15do not fdopen(msg_fd) if msg_fd < 0Ryo Nakamura
2023-03-15introduce semaphore for concurrent connecting sshRyo Nakamura
instead of ssh_estab_queue (delay-based approach). MaxStartups in sshd_config limits number of conccurent incoming ssh connections. mscp_opts->max_startups adjusts this value.
2023-03-15cleanup message print functionsRyo Nakamura
2023-03-14rename ssh_connect_flag to ssh_estab_queueRyo Nakamura
2023-03-14implement ssh_connect_flagRyo Nakamura
Each copy thread establishes SSH/SFTP connection to remote host. A delay is inserted between SSH connecting to the remote.
2023-03-14cleanup mscp_prepare-related codeRyo Nakamura
2023-03-13mscp_prepare() scans source paths in a thread.Ryo Nakamura
This commit runs mscp_prepare() in a pthread. mscp copy threads run aysnchronously with mscp_prepare(). So, when mscp_prepare() has not finished yet (due to too many source files), we can start to copy files.
2023-03-13revise walk_src_path.Ryo Nakamura
In new walk_src_path, resolve dst path and resolve chunks are invoked when adding a path.
2023-03-13fix mscp.pyRyo Nakamura
2023-03-12little cleanup for python bindingsRyo Nakamura
2023-03-12fix cleanupRyo Nakamura
2023-03-12mscp copy via python bindings works.Ryo Nakamura
ToDo: memory for struct instance in pymscp.c is not released until mscp.free() is called. It is memory leak in a typical pyhotn usage. Use python extension refcnt instead.
2023-03-11add mscp and pymscp python modules.Ryo Nakamura
pymscp is a C Python wrapper for libmscp functions. mscp module provides simple (?) Python API.
2023-03-11move direction from mscp_opts to mscp_init argumentRyo Nakamura
2023-03-11start to implement pymscp.cRyo Nakamura
2023-03-10fix uninitialized dst_path_is_dir boolRyo Nakamura
2023-03-10now make install installs libmscpRyo Nakamura
2023-03-04fix dryrun handling on main.cRyo Nakamura
2023-03-04add doxygen for mscp.hRyo Nakamura
2023-03-04remove sigalrm. integrate print messages and progress barRyo Nakamura
2023-03-04tiny fix for clang warningRyo Nakamura
2023-03-04use setitimer instead of alarm, and print message.Ryo Nakamura
print_stat now prints messages per interval. ToDo: - realtime message printing - use timer_create instead of setitimer (mscOS has different one)
2023-03-04compilable on ubuntuRyo Nakamura
2023-03-04accidentaly swap min_chunk_sz and max_chunk_sz...Ryo Nakamura
2023-03-04remove pprint, use message (mpr_*) instead.Ryo Nakamura
ToDo: main should use pipe to receive messages from libmscp.
2023-03-03implementing messaging.Ryo Nakamura
ToDo: remove pprint. mscp should use mpr_* functions, and main.c should use just fprintf(stdout, "\r\033[K" fmt, ...) for printing progress bar.
2023-03-03add message.h and message.c, mscp_set|get_error()Ryo Nakamura
Instead of pr_err(), libmscp uses mscp_set_error() and applications use mscp_get_errror() to get error message.
2023-03-03tiny cleanupRyo Nakamura
2023-03-03add mscp_get_statsRyo Nakamura
move progress bar-related functions from mscp.c to main.c.
2023-03-03add mscp_ssh_opts and change -C optargRyo Nakamura
2023-02-27remove test.cRyo Nakamura
2023-02-26add comments to mscp.hRyo Nakamura
2023-02-26tiny fix on commentRyo Nakamura
2023-02-26fix dst path resolveRyo Nakamura