PageRenderTime 46ms CodeModel.GetById 38ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/protocols/ss7/mtp/mtp-impl/src/main/java/org/mobicents/protocols/ss7/mtp/Mtp1.java

http://mobicents.googlecode.com/
Java | 91 lines | 13 code | 11 blank | 67 comment | 0 complexity | 5530531ee345c6a53962a5b7594dcf80 MD5 | raw file
 1/*
 2 * JBoss, Home of Professional Open Source
 3 * Copyright 2011, Red Hat, Inc. and individual contributors
 4 * by the @authors tag. See the copyright.txt in the distribution for a
 5 * full listing of individual contributors.
 6 *
 7 * This is free software; you can redistribute it and/or modify it
 8 * under the terms of the GNU Lesser General Public License as
 9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */
22
23package org.mobicents.protocols.ss7.mtp;
24
25import java.io.IOException;
26import org.mobicents.protocols.stream.api.Stream;
27
28/**
29 * @author baranowb
30 * @author kulikov
31 */
32public interface Mtp1 extends Stream {
33	// FIXME: Oleg what's that?
34	/**
35	 * Gets the code of this channel.
36	 * 
37	 * @return the code of this channel.
38	 */
39	public int getCode();
40
41	/**
42	 * Set MTP2 layer serving this MTP1
43	 * 
44	 * @param link
45	 */
46	public void setLink(Object link);
47
48	/**
49	 * Get MTP2 layer serving this MTP1
50	 * 
51	 * @return
52	 */
53	public Object getLink();
54
55	/**
56	 * Fetches implementation dependent IO Buffer size which should be used
57	 * 
58	 * @return integer number, Mtp2 implementation should assign buffers of this
59	 *         size to interact with Mtp1
60	 */
61	public int getIOBufferSize();
62
63	/**
64	 * Reads up to buffer.length bytes from layer 1.
65	 * 
66	 * @param buffer
67	 *            reader buffer
68	 * @return the number of actually read bytes.
69	 */
70	public int read(byte[] buffer) throws IOException;
71
72	/**
73	 * Writes data to layer 1.
74	 * 
75	 * @param buffer
76	 *            the buffer containing data to write.
77	 * @param bytesToWrite
78	 */
79	public void write(byte[] buffer, int bytesToWrite) throws IOException;
80
81	/**
82	 * Open message transfer part layer 1.
83	 */
84	public void open() throws IOException;
85
86	/**
87	 * Close message transfer part layer 1.
88	 */
89	public void close();
90
91}