Last change
on this file since 94 was 90, checked in by Bart Vastenhouw, 3 years ago |
Refactor to help reusing partiesserver.
|
File size:
1.2 KB
|
Line | |
---|
1 | from abc import abstractmethod
|
---|
2 | from typing import List
|
---|
3 |
|
---|
4 | from geniusweb.actions.Action import Action
|
---|
5 | from geniusweb.connection.ConnectionFactory import ConnectionFactory
|
---|
6 | from geniusweb.inform.Inform import Inform
|
---|
7 | from geniusweb.protocol.partyconnection.ProtocolToPartyConn import ProtocolToPartyConn
|
---|
8 | from geniusweb.references.Reference import Reference
|
---|
9 |
|
---|
10 |
|
---|
11 | class ProtocolToPartyConnFactory(ConnectionFactory[Action, Inform] ):
|
---|
12 | '''
|
---|
13 | An extended {@link ConnectionFactory} that store PartyIDs with the
|
---|
14 | connections, making it possible to find back the appropriate connection given
|
---|
15 | a PartyID. Also, it allows the connection factory to actually assign the
|
---|
16 | PartyIDs.
|
---|
17 | '''
|
---|
18 |
|
---|
19 | @abstractmethod
|
---|
20 | def connectAll(self, references: List[Reference] ) -> List[ProtocolToPartyConn]:
|
---|
21 | '''
|
---|
22 | Connects a set of References in one go, following a modified Banker's
|
---|
23 | algorthm.
|
---|
24 |
|
---|
25 | @param references the list of references to connect with
|
---|
26 | @return a List of connections, one fore each Reference.
|
---|
27 | @throws ConnectionError if a connection is failing irrecoverably.
|
---|
28 | @throws NoResourcesNowException is there are insufficient resources now.
|
---|
29 | This also includes a suggested moment to
|
---|
30 | retry.
|
---|
31 | '''
|
---|
32 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.