/* * Copyright (C) 2004-2008 Jive Software. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jivesoftware.openfire; import org.xmpp.packet.Packet; import org.jivesoftware.openfire.auth.UnauthorizedException; /** * Interface to handle packets delivered by Channels. * * @author Matt Tucker */ public interface ChannelHandler<T extends Packet> { /** * Process an XMPP packet. * * @param packet a packet to process. * @throws UnauthorizedException if not allowed to process the packet. * @throws PacketException thrown if the packet is malformed (results in the sender's * session being shutdown). */ void process( T packet ) throws UnauthorizedException, PacketException; }