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

~PolicyControllerInterface()
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

void disconnectClient(int clientId) = 0

Disconnect client.

Parameters
  • clientId: identifies client

void eraseClientPriority(int clientId) = 0

Removes the priority assigned to a particular client id.

Parameters
  • clienId: the ID of a connected client

void eraseThrottle(int clientId) = 0

Removes the socket throttling info for a particular clientID.

Parameters
  • clienId: the ID of a connected client

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?

Throttle getThrottle(int clientId) = 0
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

void resetCmd(int clientId) = 0
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