• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 22770960916
88%

Build:
DEFAULT BRANCH: master
Ran 06 Mar 2026 04:11PM UTC
Jobs 1
Files 526
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Mar 2026 03:53PM UTC coverage: 87.678% (+0.01%) from 87.664%
22770960916

push

github

sergepetrenko
lua: split tcp_server into create and loop

Expose `tcp_server_create` and `tcp_server_loop` so that a listening
socket and accept loop could be driven from different threads without
changing the existing tcp_server behavior.

closes: #12343

@TarantoolBot document
Title: `socket.tcp_server_create()` and `socket.tcp_server_loop()`

`socket.tcp_server_create()` creates a master socket, performs `bind`
and `listen`, and applies the optional `prepare` callback. It returns
the listening socket and its address.

`socket.tcp_server_loop()` runs the accept loop for an existing
listening socket and calls the user handler for each connection.

Usage example:

```lua
local socket = require('socket')
local fiber = require('fiber')

local function prepare(s)
    s:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
    return 128
end

local function handler(sc)
    sc:write('hello')
    sc:close()
end

local s, addr = socket.tcp_server_create('127.0.0.1', 12340, prepare)
fiber.create(socket.tcp_server_loop, s, handler)

```

legacy single-call API still works:

```lua

local socket = require('socket')

local function prepare(s)
    s:setsockopt('SOL_SOCKET', 'SO_REUSEADDR', true)
    return 128
end

local function handler(sc)
    sc:write('hello')
    sc:close()
end

socket.tcp_server('127.0.0.1', 12340, {prepare=prepare, handler=handler})

```

70435 of 118498 branches covered (59.44%)

105947 of 120837 relevant lines covered (87.68%)

1383835.89 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
91.68
-0.11% src/lib/swim/swim.c
1
22.64
-0.02% src/lib/uri/uri_parser.c
1
75.37
-0.25% src/main.cc
2
96.13
-0.35% src/box/relay.cc
2
93.13
0.01% src/lib/core/fiber.c
2
82.22
-4.44% src/lib/core/latch.h
2
95.45
-4.55% src/lib/json/json.h
3
90.5
-0.22% src/box/applier.cc
3
97.15
-0.1% src/lib/msgpuck/msgpuck.h
59
83.94
0.23% src/lua/socket.c
Jobs
ID Job ID Ran Files Coverage
1 22770960916.1 06 Mar 2026 04:11PM UTC 526
87.68
GitHub Action Run
Source Files on build 22770960916
  • Tree
  • List 526
  • Changed 26
  • Source Changed 0
  • Coverage Changed 26
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 1408f367 on github
  • Prev Build on master (#22766742970)
  • Next Build on master (#22773914650)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc