[90] | 1 | from abc import abstractmethod, ABC
|
---|
| 2 |
|
---|
| 3 | from pyson.JsonSubTypes import JsonSubTypes
|
---|
| 4 | from pyson.JsonTypeInfo import Id, As
|
---|
| 5 | from pyson.JsonTypeInfo import JsonTypeInfo
|
---|
| 6 |
|
---|
| 7 | @JsonSubTypes([ "geniusweb.events.ActionEvent.ActionEvent",
|
---|
| 8 | "geniusweb.events.SessionStarted.SessionStarted",
|
---|
| 9 | "geniusweb.events.TournamentStarted.TournamentStarted"])
|
---|
| 10 | @JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT)
|
---|
| 11 | class NegotiationEvent (ABC):
|
---|
| 12 | '''
|
---|
| 13 | reports some event happened in the negotiation system. Generally, parties are
|
---|
| 14 | informed about events in the system, but this depends on the protocol.
|
---|
| 15 | '''
|
---|
| 16 | @abstractmethod
|
---|
| 17 | def getTime(self)->int:
|
---|
| 18 | '''
|
---|
| 19 | @return the time at which the event happened on the server, measured in
|
---|
| 20 | milliseconds, between the start time and midnight, January 1,
|
---|
| 21 | 1970 UTCas. See also {@link System#currentTimeMillis()}. <br>
|
---|
| 22 |
|
---|
| 23 | If the event is about an {@link Action} done by a negotiation
|
---|
| 24 | party on another machine, this time refers to the time the action
|
---|
| 25 | was handled on the server (which may differ from the clock time
|
---|
| 26 | on the other machine). <br>
|
---|
| 27 |
|
---|
| 28 | Note: we do not use RFC 3339 because we need millisecond
|
---|
| 29 | accuracy.
|
---|
| 30 | '''
|
---|