PolicyControllerInterface

class kanzi::connect::PolicyControllerInterface

This interface provides a mechanism to control Connect behavior for scheduling and memory access.

It is expected that policy engine sets some values in here which are then read by various pieces in the

Public Types

enum Throttle

Values:

enumerator NoLimit
enumerator DropPacket

no effect

enumerator DontRead

read packet from network interface but drop it not yet valid for anything

enumerator Disconnect

do not read from buffer

Public Functions

inline virtual ~PolicyControllerInterface()
virtual void demoteClient(int clientId, int timeout) = 0

The external commands induced by policy evaluation.

Reduce client priority

Parameters
  • clientId: identifies client

  • timeout: milliseconds of applicability for the demotion, -1 for permanent effect

virtual void disconnectClient(int clientId) = 0

Disconnect client.

Parameters
  • clientId: identifies client

virtual void eraseClientPriority(int clientId) = 0

Removes the priority assigned to a particular client id.

Parameters
  • clienId: the ID of a connected client

virtual void eraseThrottle(int clientId) = 0

Removes the socket throttling info for a particular clientID.

Parameters
  • clienId: the ID of a connected client

virtual ConnectWorkItem::Priority getClientPriority(int clientId) = 0

Returns the priority assigned to a particular client id.

Return

priority level

Parameters
  • clienId: the ID of a connected client, XXX unique per execution?

virtual Throttle getThrottle(int clientId) = 0
virtual void promoteClient(int clientId, int timeout) = 0

Increase client priority.

Parameters
  • clientId: identifies client

  • timeout: milliseconds of applicability for the demotion, -1 for permanent effect

virtual void resetCmd(int clientId) = 0
virtual void stopNetwork(int clientId, int timeout) = 0

Do not read from the network.

Parameters
  • clientId: identifies client

  • timeout: milliseconds of applicability for the demotion, -1 for permanent effect