View Javadoc

1   /*
2    * Copyright (c) 1998-2002 The Jgroup Team.
3    *
4    * This program is free software; you can redistribute it and/or modify
5    * it under the terms of the GNU Lesser General Public License version 2 as
6    * published by the Free Software Foundation.
7    *
8    * This program is distributed in the hope that it will be useful,
9    * but WITHOUT ANY WARRANTY; without even the implied warranty of
10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11   * GNU Lesser General Public License for more details.
12   *
13   * You should have received a copy of the GNU Lesser General Public License
14   * along with this program; if not, write to the Free Software
15   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16   *
17   */
18  
19  package jgroup.relacs.mss;
20  
21  import jgroup.core.EndPoint;
22  
23  /**
24   *  The <code>NetworkInterface</code> interface.
25   *
26   *  @author Salvatore Cammarata
27   *  @author Hein Meling
28   *  @since Jgroup 1.2
29   */
30  public interface NetworkInterface
31  {
32  
33    /**
34     *  Send a datagram packet to the local cluster.
35     *
36     *  @param buffer
37     *    An array of bytes containing the packet to send.
38     *  @param buflen
39     *    The actual packet length
40     */
41    public void send(byte[] buffer, int blen);
42  
43    /**
44     *  Send a datagram packet to the specified destination
45     *  <code>EndPoint</code>.
46     *
47     *  @param dest
48     *    The destination <code>EndPoint</code>.
49     *  @param buffer
50     *    An array of bytes containing the packet to send.
51     *  @param buflen
52     *    The actual packet length
53     */
54    public void send(EndPoint dest, byte[] buffer, int buflen);
55  
56    /**
57     *  Start the network interface 
58     */
59    public void doStart();
60  
61    /**
62     *  Stop the network interface 
63     */
64    public void doStop();
65  
66  } // END NetworkInterface