broker_pool.go RawHistoryFolder

1package ports
2
3// BrokerMaxAddressBytes bounds the opaque adapter route.
4const BrokerMaxAddressBytes = 4096
5
6// BrokerStreamPurpose keeps observation and control independent from attachments.
7type BrokerStreamPurpose uint8
8
9const (
10	BrokerStreamAttachment BrokerStreamPurpose = iota + 1
11	BrokerStreamControl
12	BrokerStreamObservation
13)
14
15// Resolve must validate current registration and reject conflicting requested
16// policy. It must honor cancellation and return bounded, authenticated values.
17// No resolver cache or alias normalization in the pool can bypass this check.
18// Resolver, connector and OpenStream adapters should return BrokerError for
19// semantic rejection and context errors for cancellation/deadline. Unknown
20// errors become Unavailable; causes remain accessible through errors.Is/As.
21// Never place secrets or unbounded adapter diagnostics in BrokerError.Text.
22// BrokerLogicalConnection supplies terminal notification independent of reads.
23// Done closes exactly once; Err is stable afterwards (nil for orderly close).
24// Close is concurrent-safe, prompt, and unblocks all I/O. Physical Close and
25// connector/resolver/open cancellation must likewise complete promptly. The
26// pool does not buffer traffic: adapters must isolate bounded per-stream queues.
27type BrokerLogicalConnection interface {
28	ClientConnection
29	Done() <-chan struct{}
30	Err() error
31}
32
33// BrokerAdmissionError distinguishes resource/identity rejection from transport
34// failure. Rejected or failed reservations still consume the monotonic stream
35// ID; callers must use a fresh ID. A connection ID is never reused in an epoch.
36type BrokerAdmissionError string
37
38func (e BrokerAdmissionError) Error() string { return "broker admission: " + string(e) }
39
40const (
41	BrokerAdmissionLimit   BrokerAdmissionError = "limit"
42	BrokerAdmissionClosed  BrokerAdmissionError = "closed"
43	BrokerAdmissionStale   BrokerAdmissionError = "stale connection or stream"
44	BrokerAdmissionInvalid BrokerAdmissionError = "invalid request"
45)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close