<commit_before>package org.deviceconnect.android.libsrt;

import java.io.IOException;

/**
 * SRTソケット.
 */
public class SRTSocket {

    /**
     * JNI 側のソケット.
     */
    private long mNativePtr;

    /**
     * ソケットの IPv4 アドレス.
     *
     * 例) "192.168.1.2"
     */
    private String mSocketAddress;

    /**
     * ソケットが閉じているかどうかのフラグ
     */
    private boolean mClosed;

    /**
     * SRT ソケットを指定されたアドレスとポート番号に接続します.
     *
     * @param address アドレス
     * @param port ポート番号
     * @throws IOException 接続に失敗した場合に発生
     */
    public SRTSocket(String address, int port) throws IOException {
        mSocketAddress = address;

        mNativePtr = NdkHelper.createSrtSocket();
        if (mNativePtr < 0) {
            throw new IOException("Failed to create a socket: " + address + ":" + port);
        }

        int result = NdkHelper.connect(mNativePtr, address, port);
        if (result < 0) {
            NdkHelper.closeSrtSocket(mNativePtr);
            throw new IOException("Failed to create a socket: " + address + ":" + port);
        }
    }

    /**
     * コンストラクタ.
     *
     * <p>
     * このコンストラクタは、 SRTServerSocket からのみ呼び出されます。
     * </p>
     *
     * @param nativePtr JNI 側のソケット<commit_msg>SRTSocket で、localhost など IP アドレス以外も設定できるように修正<commit_after>package org.deviceconnect.android.libsrt;

import java.io.IOException;
import java.net.InetAddress;

/**
 * SRTソケット.
 */
public class SRTSocket {

    /**
     * JNI 側のソケット.
     */
    private long mNativePtr;

    /**
     * ソケットの IPv4 アドレス.
     *
     * 例) "192.168.1.2"
     */
    private String mSocketAddress;

    /**
     * ソケットが閉じているかどうかのフラグ
     */
    private boolean mClosed;

    /**
     * SRT ソケットを指定されたアドレスとポート番号に接続します.
     *
     * @param address アドレス
     * @param port ポート番号
     * @throws IOException 接続に失敗した場合に発生
     */
    public SRTSocket(String address, int port) throws IOException {
        InetAddress inetAddress = InetAddress.getByName(address);
        mSocketAddress = address;

        mNativePtr = NdkHelper.createSrtSocket();
        if (mNativePtr < 0) {
            throw new IOException("Failed to create a socket: " + address + ":" + port);
        }

        int result = NdkHelper.connect(mNativePtr, inetAddress.getHostAddress(), port);
        if (result < 0) {
            NdkHelper.closeSrtSocket(mNativePtr);
            throw new IOException("Failed to create a socket: " + address + ":" + port);
        }
    }

    /**
     * コンストラクタ.
     *
     * <p>
     * このコンストラクタは、 SRTServerSocket からのみ呼び出されます。
     * </p>
     *
     * @param nativePtr JNI 側のソケット
{'fraction_non_alphanumeric': 0.11222910216718267, 'fraction_numerical': 0.008513931888544891, 'mean_word_length': 2.044758539458186, 'pattern_counts': {'":': 4, '<': 11, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1122002', 'n_tokens_mistral': 1041, 'n_tokens_neox': 994, 'n_words': 182}