Skip to content

Commit

Permalink
add README
Browse files Browse the repository at this point in the history
  • Loading branch information
nitwhiz committed Feb 2, 2024
1 parent e5d5e06 commit 306883c
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
# omnilock

A zero dependency lock manager
A zero dependency locker.

## How does it work?

This locker uses TCP connections to keep track of locks.
This way, a lock is freed as soon as the locking process ends (some way or another) or it's unlocked explicitly.

## Protocol

1. Open a TCP connection to the omnilock server
2. Send a lock command through the established connection (e.g. `lock my_lock`)
3. Read the response, it may be either `success`, `failed` or `error: something went wrong`
4. Do your things on the client side
5. Either unlock the lock explicitly: `unlock my_lock` or just let the process exit so the OS closes the connection

Note: All commands and responses end with `\n` (newline).

## Usage as docker image

Start the server with:

```shell
docker run --rm -it -p 7194:7194 ghcr.io/nitwhiz/omnilock:lastest
```

And connect to it via port 7194.

0 comments on commit 306883c

Please sign in to comment.