Expose identifier for a connection bundle
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- haskell
- Domínio
- distributed-systems
Direção de pesquisa
Comece rastreando como Connection, ErrorEvent e receive lidam com eventos de perda e abertura de conexão. Defina como ConnectionBundle é propagado pelos caminhos de conexão afetados e, em seguida, verifique se os eventos de perda identificam o bundle relevante e são observados antes de aberturas subsequentes para o mesmo peer.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
-- Identifies a "heavyweight" connection which carries 0 or more "lightweight"
-- connections.
type ConnectionBundle = Word32
data ErrorEvent =
...
-- EventConnectionLost indicates which bundle was lost
| EventConnectionLost EndPointAddress ConnectionBundle
...
data Connection = Connection {
...
-- Each connection knows which bundle carries it.
, bundle :: ConnectionBundle
}
Why?
When a connection is lost, an EventConnectionLost peer must be posted and ultimately come out of receive at that end point before any ConnectionOpened events to the same peer. While that event sits in the queue, new connections may be established to that same peer. Once the EventConnectionLost peer comes out of the queue it's impossible to determine which of the existing outbound lightweight connections are affected by it. By including a ConnectionBundle on every Connection and on the EventConnectionLost, it's possible to determine whether an outbound connection has been severed without trying to send on it.
- Linguagem predominante
- Haskell
- Estrelas
- 753
- Forks
- 101
- Merge médio
- 1d 3h
- PRs com merge (30d)
- 4
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de haskell-distributed/distributed-process
-
enhancement Feature Request
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
haskell-distributed/distributed-process#486 · 1 comentário · 1 reação ·
-
discuss enhancement Feature Request
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
haskell-distributed/distributed-process#478 · 4 comentários · 3 reações ·
-
enhancement Feature Request
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
haskell-distributed/distributed-process#476 · 2 reações ·
-
Demonstrating the use of Cloud Haskell for a Raft implementationTalvez livre de novo @LaurentRDC assumiu há 483 dias e não há nenhum pull request aberto. Abertaenhancement Feature Request
haskell-distributed/distributed-process#475 · 3 reações · 1 responsável ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
haskell-distributed/distributed-process#473 · 4 comentários · 1 reação ·
Todas as issues de haskell-distributed/distributed-process
Issues semelhantes
-
MorphRule, DataizeRule and ContextualizeRule silently accept unknown YAML keys, unlike rewrite `Rule`Talvez já em andamento @renyamamoto2026-cmyk assumiu há 1 dia. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
objectionary/phino#2107 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
tweag/tricorder#640 · 1 comentário ·
Mantenedores costumam responder em até 1 dia