Last change
on this file since 81 was 81, checked in by Bart Vastenhouw, 3 years ago |
Added python timedependent parties (conceder, hardliner, etc)
|
File size:
1.2 KB
|
Rev | Line | |
---|
[81] | 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.