package net.java.slee.resource.diameter.rf; import java.io.IOException; import net.java.slee.resource.diameter.base.AccountingClientSessionActivity; import net.java.slee.resource.diameter.base.events.AccountingRequest; /** * * An RfClientSessionActivity represents an offline charging session for accounting clients. * * All requests for the session must be sent via the same RfClientSessionActivity. * * All responses related to the session will be received as events fired on the same RfClientSessionActivity. * * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a> * @author <a href="mailto:baranowb@gmail.com"> Bartosz Baranowski </a> */ public interface RfClientSession extends RfSession, AccountingClientSessionActivity { /** * Send an Accounting Request. * * @param accountingRequest request message to send * @throws IOException if the message could not be sent * @throws IllegalArgumentException if accountingRequest is missing any required AVPs */ public void sendAccountingRequest(AccountingRequest accountingRequest) throws IOException, IllegalArgumentException; }