A specialized PacketAbstraction which keeps track of protocol details.
These objects are better suited for composing packet abstractions compared to dealing with PacketAbstraction directly.
- Companion
- object
Value members
Concrete methods
"Defocus" this abstraction to deal with a larger view datatype BroaderView that contains more information than WorldView.
"Defocus" this abstraction to deal with a larger view datatype BroaderView that contains more information than WorldView.
Construct an abstraction that keeps track of all past views. This may be better suited for debugging purposes.
Construct an abstraction that keeps track of all past views. This may be better suited for debugging purposes.
Combine this abstraction with another. The obtained abstraction will attempt to update the view using another if this object rejects to update the view.
Combine this abstraction with another. The obtained abstraction will attempt to update the view using another if this object rejects to update the view.
Combine this with another abstraction that deals with a packet type P that is not a
subtype of Packet. The result of a view update for a packet p
of type Packet | P
will be:
Combine this with another abstraction that deals with a packet type P that is not a
subtype of Packet. The result of a view update for a packet p
of type Packet | P
will be:
- if
p: Packet
, thenthis.viewUpdate(p)
- if otherwise
p: P
, thenanother.viewUpdate(p)
Combine this with another abstraction that deals with smaller view MagnifiedView of the world by applying thenAbstract to the defocused abstraction.
Combine this with another abstraction that deals with smaller view MagnifiedView of the world by applying thenAbstract to the defocused abstraction.