A set of stabilized interfaces for cchat implementations, joining the backend and frontend together.
Go to file
diamondburned 8bfabf58ec Make SetterMethods ContainerUpdaterMethods
This commit separated SetterMethods that are specifically for updating
containers to another method type, named ContainerUpdaterMethod. This
change is done to force a context parameter into container setters,
allowing the frontend to know if an incoming update is valid or not,
based on the state of the context given.

The validity check should be the same as any other context:

    select {
    case <-ctx.Done():
        return
    default:
        addEvent()
    }

It is crucial, however, to do the checking and updating in the same
thread or lock as the context is cancelled. This explicit
synchronization is required to prevent any race condition whatsoever
with cancellation of the context.

The backend must pass in the right context, that is, any context that
inherits the cancellation from the frontend. Passing in the invalid
context is undefined behavior and will eventually cause a data race.
2021-05-01 21:41:39 -07:00
cmd/internal Make SetterMethods ContainerUpdaterMethods 2021-05-01 21:41:39 -07:00
repository Make SetterMethods ContainerUpdaterMethods 2021-05-01 21:41:39 -07:00
services Auto-create plugin dir 2020-05-22 17:37:32 -07:00
text Allow empty texts with segments 2021-03-19 22:40:31 -07:00
utils Enforce Columnate in Server 2021-03-18 09:52:14 -07:00
.editorconfig Fixed indentation 2020-05-19 20:46:05 -07:00
LICENSE Added the ISC license 2020-07-19 10:44:34 -07:00
README.md Added member list support; moved documentation off README and into GoDoc 2020-07-19 10:37:51 -07:00
cchat.go Make SetterMethods ContainerUpdaterMethods 2021-05-01 21:41:39 -07:00
generator.go Replace stop callbacks with contexts 2021-05-01 17:49:25 -07:00
go.mod Added a repository for API source of truth 2020-09-26 18:24:56 -07:00
go.sum Added a repository for API source of truth 2020-09-26 18:24:56 -07:00

README.md

cchat

A set of stabilized interfaces for cchat implementations, joining the backend and frontend together.

Refer to the GoDoc for interfaces and documentations.

Known implementations

The following sections contain known cchat implementations. PRs are welcomed for more implementations to be added here.

Backend

Frontend