diff --git a/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java b/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java index f5ba0b03dd04dad58717dc4e772a640063bbbbd7..2fbc137192e8dcdfc87a03d2ab52a8938e4888f4 100644 --- a/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java +++ b/briar-android/src/org/briarproject/android/AndroidNotificationManagerImpl.java @@ -23,7 +23,7 @@ import org.briarproject.api.event.Event; import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.SettingsUpdatedEvent; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; import org.briarproject.util.StringUtils; import java.util.HashMap; diff --git a/briar-android/src/org/briarproject/android/BriarService.java b/briar-android/src/org/briarproject/android/BriarService.java index 11e8dcebaa156dec816adc693595754b14151d45..35db05931a56f9397735acbea5e42128088dbc72 100644 --- a/briar-android/src/org/briarproject/android/BriarService.java +++ b/briar-android/src/org/briarproject/android/BriarService.java @@ -23,7 +23,7 @@ import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.lifecycle.LifecycleManager; import org.briarproject.api.lifecycle.LifecycleManager.StartResult; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; diff --git a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java index 630c4dec9915fb2a5447f742d662298e337c8adc..02a244c23ca8cece8ea00256a670315e3e43de7d 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListActivity.java @@ -1,22 +1,22 @@ package org.briarproject.android.contact; -import static android.view.Gravity.CENTER; -import static android.view.Gravity.CENTER_HORIZONTAL; -import static android.view.Menu.NONE; -import static android.view.View.GONE; -import static android.view.View.VISIBLE; -import static android.widget.LinearLayout.VERTICAL; -import static android.widget.Toast.LENGTH_SHORT; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; - -import java.util.Collection; -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnCreateContextMenuListener; +import android.widget.AdapterView; +import android.widget.AdapterView.AdapterContextMenuInfo; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -28,7 +28,6 @@ import org.briarproject.api.Contact; import org.briarproject.api.ContactId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.event.ContactAddedEvent; import org.briarproject.api.event.ContactConnectedEvent; @@ -39,26 +38,27 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessageExpiredEvent; -import org.briarproject.api.messaging.GroupId; import org.briarproject.api.plugins.ConnectionRegistry; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageHeader; -import android.content.Intent; -import android.content.res.Resources; -import android.os.Bundle; -import android.view.ContextMenu; -import android.view.ContextMenu.ContextMenuInfo; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.View.OnCreateContextMenuListener; -import android.widget.AdapterView; -import android.widget.AdapterView.AdapterContextMenuInfo; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.TextView; -import android.widget.Toast; +import java.util.Collection; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.view.Gravity.CENTER; +import static android.view.Gravity.CENTER_HORIZONTAL; +import static android.view.Menu.NONE; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; +import static android.widget.LinearLayout.VERTICAL; +import static android.widget.Toast.LENGTH_SHORT; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; public class ContactListActivity extends BriarActivity implements OnClickListener, OnItemClickListener, OnCreateContextMenuListener, diff --git a/briar-android/src/org/briarproject/android/contact/ContactListItem.java b/briar-android/src/org/briarproject/android/contact/ContactListItem.java index 276ae9178f85f4736383d199b302e3e014b5faca..0e2cca813d495816a75d432d4f9c66f4746f7636 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListItem.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListItem.java @@ -1,10 +1,10 @@ package org.briarproject.android.contact; -import java.util.Collection; - import org.briarproject.api.Contact; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageHeader; + +import java.util.Collection; // This class is not thread-safe class ContactListItem { diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index 7023da46e6936e2d6438270c236ab40174bb16e1..fc4fcb4d9a73423b0f317b889d62586d34b2f548 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -26,8 +26,6 @@ import org.briarproject.api.android.AndroidNotificationManager; import org.briarproject.api.crypto.CryptoExecutor; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.db.MessageHeader.State; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.db.NoSuchMessageException; import org.briarproject.api.db.NoSuchSubscriptionException; @@ -41,12 +39,14 @@ import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessageExpiredEvent; import org.briarproject.api.event.MessagesAckedEvent; import org.briarproject.api.event.MessagesSentEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; import org.briarproject.api.plugins.ConnectionRegistry; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageHeader.State; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; import java.io.IOException; diff --git a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java index f78f4bb682d100ed3259b623257554101f1704f4..240bdea4dd32bc0b08eb76c847ed9f3b95e25588 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java @@ -1,21 +1,5 @@ package org.briarproject.android.contact; -import static android.view.Gravity.BOTTOM; -import static android.view.Gravity.LEFT; -import static android.view.View.INVISIBLE; -import static android.widget.LinearLayout.HORIZONTAL; -import static android.widget.LinearLayout.VERTICAL; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; - -import java.util.ArrayList; - -import org.briarproject.R; -import org.briarproject.android.util.ElasticHorizontalSpace; -import org.briarproject.android.util.LayoutUtils; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.db.MessageHeader.State; -import org.briarproject.util.StringUtils; - import android.content.Context; import android.content.res.Resources; import android.text.format.DateUtils; @@ -27,6 +11,21 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import org.briarproject.R; +import org.briarproject.android.util.ElasticHorizontalSpace; +import org.briarproject.android.util.LayoutUtils; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageHeader.State; +import org.briarproject.util.StringUtils; + +import java.util.ArrayList; + +import static android.view.Gravity.BOTTOM; +import static android.view.Gravity.LEFT; +import static android.widget.LinearLayout.HORIZONTAL; +import static android.widget.LinearLayout.VERTICAL; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; + class ConversationAdapter extends ArrayAdapter<ConversationItem> { private final int pad; diff --git a/briar-android/src/org/briarproject/android/contact/ConversationItem.java b/briar-android/src/org/briarproject/android/contact/ConversationItem.java index ac5637e16400a26946fb9f3a72a67ce8b984d7a1..292bd4a713289d448e61582ef696bff8e10698b6 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationItem.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationItem.java @@ -1,7 +1,7 @@ package org.briarproject.android.contact; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.db.MessageHeader.State; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageHeader.State; // This class is not thread-safe class ConversationItem { diff --git a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java index abbbb5fe900aca6fba040c30f126f97140f79faf..c95324b793fe4fce5246b8f803d79944719ae595 100644 --- a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java @@ -1,19 +1,15 @@ package org.briarproject.android.contact; -import static android.view.Gravity.CENTER; -import static android.view.Gravity.CENTER_VERTICAL; -import static android.widget.LinearLayout.HORIZONTAL; -import static android.widget.LinearLayout.VERTICAL; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; -import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; -import static org.briarproject.api.Author.Status.VERIFIED; - -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Bundle; +import android.text.format.DateUtils; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -25,20 +21,24 @@ import org.briarproject.api.AuthorId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchMessageException; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; -import android.content.Intent; -import android.content.res.Resources; -import android.os.Bundle; -import android.text.format.DateUtils; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.ScrollView; -import android.widget.TextView; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.view.Gravity.CENTER; +import static android.view.Gravity.CENTER_VERTICAL; +import static android.widget.LinearLayout.HORIZONTAL; +import static android.widget.LinearLayout.VERTICAL; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; +import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; +import static org.briarproject.api.Author.Status.VERIFIED; public class ReadPrivateMessageActivity extends BriarActivity implements OnClickListener { diff --git a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java index b173983499c6c1b1b3f6a04c5c7b95ab5058669f..481f72fe69a2a720d37177e9f6f4e1197a58b1c1 100644 --- a/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/WritePrivateMessageActivity.java @@ -1,24 +1,16 @@ package org.briarproject.android.contact; -import static android.text.InputType.TYPE_CLASS_TEXT; -import static android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; -import static android.text.TextUtils.TruncateAt.END; -import static android.widget.LinearLayout.VERTICAL; -import static android.widget.RelativeLayout.ALIGN_PARENT_LEFT; -import static android.widget.RelativeLayout.ALIGN_PARENT_RIGHT; -import static android.widget.RelativeLayout.CENTER_VERTICAL; -import static android.widget.RelativeLayout.LEFT_OF; -import static android.widget.Toast.LENGTH_LONG; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; - -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.util.concurrent.Executor; -import java.util.logging.Logger; - -import javax.inject.Inject; +import android.content.Intent; +import android.os.Bundle; +import android.text.InputType; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; +import android.widget.Toast; import org.briarproject.R; import org.briarproject.android.BriarActivity; @@ -31,24 +23,32 @@ import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.db.NoSuchSubscriptionException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; -import android.content.Intent; -import android.os.Bundle; -import android.text.InputType; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.EditText; -import android.widget.ImageButton; -import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.TextView; -import android.widget.Toast; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static android.text.InputType.TYPE_CLASS_TEXT; +import static android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; +import static android.text.TextUtils.TruncateAt.END; +import static android.widget.LinearLayout.VERTICAL; +import static android.widget.RelativeLayout.ALIGN_PARENT_LEFT; +import static android.widget.RelativeLayout.ALIGN_PARENT_RIGHT; +import static android.widget.RelativeLayout.CENTER_VERTICAL; +import static android.widget.RelativeLayout.LEFT_OF; +import static android.widget.Toast.LENGTH_LONG; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; public class WritePrivateMessageActivity extends BriarActivity implements OnClickListener { diff --git a/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java b/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java index 1c9cb668997d98934101f329b5e3f09fc17fb687..8c3e1c8bf62a8c3c86030d34eb8c5ee92a77126d 100644 --- a/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java +++ b/briar-android/src/org/briarproject/android/forum/AvailableForumsActivity.java @@ -21,8 +21,8 @@ import org.briarproject.api.event.EventListener; import org.briarproject.api.event.RemoteSubscriptionsUpdatedEvent; import org.briarproject.api.event.SubscriptionAddedEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; import java.util.ArrayList; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java b/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java index 1c46e66b5f54eea0b69b57d8403d6db38719ba92..c5e62e75ce9e54116d78c2c108e23e48245e17bc 100644 --- a/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java +++ b/briar-android/src/org/briarproject/android/forum/AvailableForumsItem.java @@ -1,7 +1,7 @@ package org.briarproject.android.forum; import org.briarproject.api.Contact; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java b/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java index c005104e685b0dfb9ed01da1a5fcd32211e1b0f0..d422684bb6d56043b8f3eb594837c7119fd2b2c4 100644 --- a/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/CreateForumActivity.java @@ -18,8 +18,8 @@ import org.briarproject.android.BriarActivity; import org.briarproject.android.util.LayoutUtils; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.util.StringUtils; import java.util.logging.Logger; @@ -38,7 +38,7 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.android.util.CommonLayoutParams.MATCH_MATCH; import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_GROUP_NAME_LENGTH; public class CreateForumActivity extends BriarActivity implements OnEditorActionListener, OnClickListener { diff --git a/briar-android/src/org/briarproject/android/forum/ForumActivity.java b/briar-android/src/org/briarproject/android/forum/ForumActivity.java index 8786ec401f27b924fab0fdbf7dd5b310a241a4c7..3c4b5a2674b142f8db42ce6a09959aed8668ed34 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumActivity.java @@ -21,7 +21,6 @@ import org.briarproject.api.Author; import org.briarproject.api.android.AndroidNotificationManager; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; import org.briarproject.api.db.NoSuchMessageException; import org.briarproject.api.db.NoSuchSubscriptionException; import org.briarproject.api.event.Event; @@ -30,9 +29,10 @@ import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; import org.briarproject.api.event.MessageExpiredEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageId; import java.util.ArrayList; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/ForumAdapter.java b/briar-android/src/org/briarproject/android/forum/ForumAdapter.java index cc8db894db029791b93f35c204b8a053fef64041..8660f4381497c3663941b5b3930b2f292b2532cd 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumAdapter.java +++ b/briar-android/src/org/briarproject/android/forum/ForumAdapter.java @@ -14,7 +14,7 @@ import org.briarproject.R; import org.briarproject.android.util.AuthorView; import org.briarproject.android.util.LayoutUtils; import org.briarproject.api.Author; -import org.briarproject.api.db.MessageHeader; +import org.briarproject.api.sync.MessageHeader; import org.briarproject.util.StringUtils; import java.util.ArrayList; diff --git a/briar-android/src/org/briarproject/android/forum/ForumContacts.java b/briar-android/src/org/briarproject/android/forum/ForumContacts.java index daa01d7efe9d9707d8ea33a2858a336b7ad7ef44..f75c439455239f70c61c88267699f1ca6424ce06 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumContacts.java +++ b/briar-android/src/org/briarproject/android/forum/ForumContacts.java @@ -1,7 +1,7 @@ package org.briarproject.android.forum; import org.briarproject.api.Contact; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/ForumItem.java b/briar-android/src/org/briarproject/android/forum/ForumItem.java index ca42d7e9a6f9df994c4c667906d9ffbe6d1a5398..ec87cbf0349ad53fbfd5d016b51187a60f544eaa 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumItem.java +++ b/briar-android/src/org/briarproject/android/forum/ForumItem.java @@ -1,6 +1,6 @@ package org.briarproject.android.forum; -import org.briarproject.api.db.MessageHeader; +import org.briarproject.api.sync.MessageHeader; // This class is not thread-safe class ForumItem { diff --git a/briar-android/src/org/briarproject/android/forum/ForumListActivity.java b/briar-android/src/org/briarproject/android/forum/ForumListActivity.java index ee1c75584fdc6b0e76a7056841c755b2e208a99a..38f1d4356111c769c7de3762963b8d6582a1d760 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumListActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ForumListActivity.java @@ -25,7 +25,6 @@ import org.briarproject.android.util.LayoutUtils; import org.briarproject.android.util.ListLoadingProgressBar; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; import org.briarproject.api.db.NoSuchSubscriptionException; import org.briarproject.api.event.Event; import org.briarproject.api.event.EventBus; @@ -35,8 +34,9 @@ import org.briarproject.api.event.MessageExpiredEvent; import org.briarproject.api.event.RemoteSubscriptionsUpdatedEvent; import org.briarproject.api.event.SubscriptionAddedEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageHeader; import java.util.Collection; import java.util.Map; diff --git a/briar-android/src/org/briarproject/android/forum/ForumListItem.java b/briar-android/src/org/briarproject/android/forum/ForumListItem.java index c20b91603fed1ba8bf0ed198875bdada8e47128a..3eef6c43618ac539375465903d101f0ee4c39154 100644 --- a/briar-android/src/org/briarproject/android/forum/ForumListItem.java +++ b/briar-android/src/org/briarproject/android/forum/ForumListItem.java @@ -1,7 +1,7 @@ package org.briarproject.android.forum; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.MessageHeader; import java.util.Collection; diff --git a/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java b/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java index 0318ecb24a64e9053a93d9b5cc3e2a9e04ce7f0c..dba39cca75a44bbd2ae61adbc312aaf8e29bf990 100644 --- a/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ReadForumPostActivity.java @@ -21,8 +21,8 @@ import org.briarproject.api.Author; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.NoSuchMessageException; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; import java.util.logging.Logger; diff --git a/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java b/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java index 3f736c096b132dccdb6148e44c8952de14ca1505..a3f771edc83b1079a6ef896f5e160fbac0adbba0 100644 --- a/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java +++ b/briar-android/src/org/briarproject/android/forum/ShareForumActivity.java @@ -19,7 +19,7 @@ import org.briarproject.api.Contact; import org.briarproject.api.ContactId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; import java.util.Collection; import java.util.Collections; diff --git a/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java b/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java index 6ae49b1faf1fa8bfe0d657c447732ed5e6d61b4b..4b8297a81737f408df2ade8b0d13a8d4dd908c6c 100644 --- a/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java +++ b/briar-android/src/org/briarproject/android/forum/WriteForumPostActivity.java @@ -31,11 +31,11 @@ import org.briarproject.api.crypto.KeyParser; import org.briarproject.api.crypto.PrivateKey; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; import java.io.IOException; diff --git a/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java b/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java index a824b1ca5ddf7711291ec26b15d2b18906a752c2..9c39fd75da6523d5e159a9ee3acc825a6ffe4627 100644 --- a/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java +++ b/briar-api/src/org/briarproject/api/android/AndroidNotificationManager.java @@ -2,7 +2,7 @@ package org.briarproject.api.android; import org.briarproject.api.ContactId; import org.briarproject.api.lifecycle.Service; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.GroupId; /** * Manages notifications for private messages and group posts. All methods must diff --git a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java index 530cffbb20eab558bda1112c4ae587d6507383f3..9aff24206c413deb01aa4c34f424048addd80444 100644 --- a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java +++ b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java @@ -9,19 +9,19 @@ import org.briarproject.api.Settings; import org.briarproject.api.TransportConfig; import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.TransportKeys; import java.io.IOException; @@ -179,7 +179,7 @@ public interface DatabaseComponent { * Returns the headers of all messages in the inbox group for the given * contact, or null if no inbox group has been set. */ - Collection<MessageHeader> getInboxMessageHeaders(ContactId c) + Collection<org.briarproject.api.sync.MessageHeader> getInboxMessageHeaders(ContactId c) throws DbException; /** Returns the local pseudonym with the given ID. */ @@ -199,7 +199,7 @@ public interface DatabaseComponent { byte[] getMessageBody(MessageId m) throws DbException; /** Returns the headers of all messages in the given group. */ - Collection<MessageHeader> getMessageHeaders(GroupId g) + Collection<org.briarproject.api.sync.MessageHeader> getMessageHeaders(GroupId g) throws DbException; /** Returns true if the given message is marked as read. */ diff --git a/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java b/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java index 333293f22386deadf30bec45627159f8fd6fd944..8c6664d1c4386c8412a5215e8346fedc189cb9ce 100644 --- a/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessageAddedEvent.java @@ -1,7 +1,7 @@ package org.briarproject.api.event; import org.briarproject.api.ContactId; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; /** An event that is broadcast when a message is added to the database. */ public class MessageAddedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java b/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java index cb7676455988d5a17395c8d591e7a3b5d8aeed6a..ab99b37b001c1f07ead7c0de3ed27ce235de0aad 100644 --- a/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessagesAckedEvent.java @@ -1,9 +1,9 @@ package org.briarproject.api.event; -import java.util.Collection; - import org.briarproject.api.ContactId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.MessageId; + +import java.util.Collection; /** An event that is broadcast when messages are acked by a contact. */ public class MessagesAckedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java b/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java index a70b7a872d4160bb5ad3a32fbe96788b0fc4e6ca..0c9f700e6f9aeedc7b85cb8705e1dd10585396c2 100644 --- a/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessagesSentEvent.java @@ -1,9 +1,9 @@ package org.briarproject.api.event; -import java.util.Collection; - import org.briarproject.api.ContactId; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.MessageId; + +import java.util.Collection; /** An event that is broadcast when messages are sent to a contact. */ public class MessagesSentEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java b/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java index c59e9cd3d6ecdabbb07176a339488669927f3aa0..a9065b28b29184ac2e314414eb47e82aa22f3949 100644 --- a/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java +++ b/briar-api/src/org/briarproject/api/event/SubscriptionAddedEvent.java @@ -1,6 +1,6 @@ package org.briarproject.api.event; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; /** An event that is broadcast when the user subscribes to a group. */ public class SubscriptionAddedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java b/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java index 8a3d0dabdfed876dd472aa0264e4333a41d448ab..a8e7524571643bd6364916f12dab5626c7e66db8 100644 --- a/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java +++ b/briar-api/src/org/briarproject/api/event/SubscriptionRemovedEvent.java @@ -1,6 +1,6 @@ package org.briarproject.api.event; -import org.briarproject.api.messaging.Group; +import org.briarproject.api.sync.Group; /** An event that is broadcast when the user unsubscribes from a group. */ public class SubscriptionRemovedEvent extends Event { diff --git a/briar-api/src/org/briarproject/api/messaging/PacketWriter.java b/briar-api/src/org/briarproject/api/messaging/PacketWriter.java deleted file mode 100644 index 1300e84c5b7730eb3f2088bf308e6dfcb561b0cd..0000000000000000000000000000000000000000 --- a/briar-api/src/org/briarproject/api/messaging/PacketWriter.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.briarproject.api.messaging; - -import java.io.IOException; - -public interface PacketWriter { - - int getMaxMessagesForAck(long capacity); - - int getMaxMessagesForRequest(long capacity); - - int getMaxMessagesForOffer(long capacity); - - void writeAck(Ack a) throws IOException; - - void writeMessage(byte[] raw) throws IOException; - - void writeOffer(Offer o) throws IOException; - - void writeRequest(Request r) throws IOException; - - void writeRetentionAck(RetentionAck a) throws IOException; - - void writeRetentionUpdate(RetentionUpdate u) throws IOException; - - void writeSubscriptionAck(SubscriptionAck a) throws IOException; - - void writeSubscriptionUpdate(SubscriptionUpdate u) throws IOException; - - void writeTransportAck(TransportAck a) throws IOException; - - void writeTransportUpdate(TransportUpdate u) throws IOException; - - void flush() throws IOException; -} diff --git a/briar-api/src/org/briarproject/api/messaging/Request.java b/briar-api/src/org/briarproject/api/messaging/Request.java deleted file mode 100644 index eae1e39283047d2c4bfe30488c924bdfe4546d0d..0000000000000000000000000000000000000000 --- a/briar-api/src/org/briarproject/api/messaging/Request.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.briarproject.api.messaging; - -import java.util.Collection; - -/** A packet requesting one or more {@link Message}s from the recipient. */ -public class Request { - - private final Collection<MessageId> requested; - - public Request(Collection<MessageId> requested) { - this.requested = requested; - } - - /** Returns the identifiers of the requested messages. */ - public Collection<MessageId> getMessageIds() { - return requested; - } -} diff --git a/briar-api/src/org/briarproject/api/messaging/Ack.java b/briar-api/src/org/briarproject/api/sync/Ack.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/Ack.java rename to briar-api/src/org/briarproject/api/sync/Ack.java index 485c17b8169ca76a267b3aa827771549b62f8f69..70417fc1617c39dfba5076426af1193c7e8cb28e 100644 --- a/briar-api/src/org/briarproject/api/messaging/Ack.java +++ b/briar-api/src/org/briarproject/api/sync/Ack.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.util.Collection; diff --git a/briar-api/src/org/briarproject/api/messaging/Group.java b/briar-api/src/org/briarproject/api/sync/Group.java similarity index 77% rename from briar-api/src/org/briarproject/api/messaging/Group.java rename to briar-api/src/org/briarproject/api/sync/Group.java index 90e6953874a6811670cfb3a34578c810a55acb48..c10accdb8491fcc77ee186f2a991a76a07232478 100644 --- a/briar-api/src/org/briarproject/api/messaging/Group.java +++ b/briar-api/src/org/briarproject/api/sync/Group.java @@ -1,7 +1,4 @@ -package org.briarproject.api.messaging; - -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; +package org.briarproject.api.sync; import java.io.UnsupportedEncodingException; @@ -19,9 +16,9 @@ public class Group { } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } - if (length == 0 || length > MAX_GROUP_NAME_LENGTH) + if (length == 0 || length > MessagingConstants.MAX_GROUP_NAME_LENGTH) throw new IllegalArgumentException(); - if (salt.length != GROUP_SALT_LENGTH) + if (salt.length != MessagingConstants.GROUP_SALT_LENGTH) throw new IllegalArgumentException(); this.id = id; this.name = name; diff --git a/briar-api/src/org/briarproject/api/messaging/GroupFactory.java b/briar-api/src/org/briarproject/api/sync/GroupFactory.java similarity index 85% rename from briar-api/src/org/briarproject/api/messaging/GroupFactory.java rename to briar-api/src/org/briarproject/api/sync/GroupFactory.java index f1ec1183a93019fb67ef08588943cfbf096296d5..2850bec19cce6ec438ad3aa6b50c308b59be1272 100644 --- a/briar-api/src/org/briarproject/api/messaging/GroupFactory.java +++ b/briar-api/src/org/briarproject/api/sync/GroupFactory.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; public interface GroupFactory { diff --git a/briar-api/src/org/briarproject/api/messaging/GroupId.java b/briar-api/src/org/briarproject/api/sync/GroupId.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/GroupId.java rename to briar-api/src/org/briarproject/api/sync/GroupId.java index 7732774e43312e95f4b85aa92c04e3b90abc562f..dc5a4b9239cfee5c344196a04e8a335df9186bbf 100644 --- a/briar-api/src/org/briarproject/api/messaging/GroupId.java +++ b/briar-api/src/org/briarproject/api/sync/GroupId.java @@ -1,9 +1,9 @@ -package org.briarproject.api.messaging; - -import java.util.Arrays; +package org.briarproject.api.sync; import org.briarproject.api.UniqueId; +import java.util.Arrays; + /** * Type-safe wrapper for a byte array that uniquely identifies a {@link Group}. */ diff --git a/briar-api/src/org/briarproject/api/messaging/Message.java b/briar-api/src/org/briarproject/api/sync/Message.java similarity index 96% rename from briar-api/src/org/briarproject/api/messaging/Message.java rename to briar-api/src/org/briarproject/api/sync/Message.java index dd6291e55e82565e739422d15ec8dc1bae44cd87..a8245f13fed2a76e9318198925d290b0ac6c9a98 100644 --- a/briar-api/src/org/briarproject/api/messaging/Message.java +++ b/briar-api/src/org/briarproject/api/sync/Message.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.Author; diff --git a/briar-api/src/org/briarproject/api/messaging/MessageFactory.java b/briar-api/src/org/briarproject/api/sync/MessageFactory.java similarity index 67% rename from briar-api/src/org/briarproject/api/messaging/MessageFactory.java rename to briar-api/src/org/briarproject/api/sync/MessageFactory.java index 7e06f0d0b7d38863d26d2bc474e3fb9958ed2217..63012b3bc429fd345d419c0400bb3839000e4089 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessageFactory.java +++ b/briar-api/src/org/briarproject/api/sync/MessageFactory.java @@ -1,18 +1,18 @@ -package org.briarproject.api.messaging; - -import java.io.IOException; -import java.security.GeneralSecurityException; +package org.briarproject.api.sync; import org.briarproject.api.Author; import org.briarproject.api.crypto.PrivateKey; +import java.io.IOException; +import java.security.GeneralSecurityException; + public interface MessageFactory { - Message createAnonymousMessage(MessageId parent, Group group, + Message createAnonymousMessage(MessageId parent, org.briarproject.api.sync.Group group, String contentType, long timestamp, byte[] body) throws IOException, GeneralSecurityException; - Message createPseudonymousMessage(MessageId parent, Group group, + Message createPseudonymousMessage(MessageId parent, org.briarproject.api.sync.Group group, Author author, PrivateKey privateKey, String contentType, long timestamp, byte[] body) throws IOException, GeneralSecurityException; diff --git a/briar-api/src/org/briarproject/api/db/MessageHeader.java b/briar-api/src/org/briarproject/api/sync/MessageHeader.java similarity index 91% rename from briar-api/src/org/briarproject/api/db/MessageHeader.java rename to briar-api/src/org/briarproject/api/sync/MessageHeader.java index c500971eb145cc0a5a8c27f0a8a0acfcfdce0d5d..e70e1fef16cc9faff5f47d5c2584c78d45611247 100644 --- a/briar-api/src/org/briarproject/api/db/MessageHeader.java +++ b/briar-api/src/org/briarproject/api/sync/MessageHeader.java @@ -1,12 +1,10 @@ -package org.briarproject.api.db; +package org.briarproject.api.sync; import org.briarproject.api.Author; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.MessageId; public class MessageHeader { - public enum State { STORED, SENT, DELIVERED }; + public enum State { STORED, SENT, DELIVERED } private final MessageId id, parent; private final GroupId groupId; diff --git a/briar-api/src/org/briarproject/api/messaging/MessageId.java b/briar-api/src/org/briarproject/api/sync/MessageId.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/MessageId.java rename to briar-api/src/org/briarproject/api/sync/MessageId.java index a2a79c43deb98f921fa67f0c0a1634bd183f4946..472caec3fbe343c70402d75257592d8b191d809e 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessageId.java +++ b/briar-api/src/org/briarproject/api/sync/MessageId.java @@ -1,9 +1,9 @@ -package org.briarproject.api.messaging; - -import java.util.Arrays; +package org.briarproject.api.sync; import org.briarproject.api.UniqueId; +import java.util.Arrays; + /** * Type-safe wrapper for a byte array that uniquely identifies a * {@link Message}. diff --git a/briar-api/src/org/briarproject/api/messaging/MessageVerifier.java b/briar-api/src/org/briarproject/api/sync/MessageVerifier.java similarity index 85% rename from briar-api/src/org/briarproject/api/messaging/MessageVerifier.java rename to briar-api/src/org/briarproject/api/sync/MessageVerifier.java index 6ac3d277bdc4ec97bf8c8821b634f66977b0a662..87ee02be696103372689cc05758aa0bcaeece0ed 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessageVerifier.java +++ b/briar-api/src/org/briarproject/api/sync/MessageVerifier.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.security.GeneralSecurityException; diff --git a/briar-api/src/org/briarproject/api/messaging/MessagingConstants.java b/briar-api/src/org/briarproject/api/sync/MessagingConstants.java similarity index 97% rename from briar-api/src/org/briarproject/api/messaging/MessagingConstants.java rename to briar-api/src/org/briarproject/api/sync/MessagingConstants.java index fefe79a3ba996414a5a85340bfca18447a16b612..5353f442f7365583b2b2ede9004a3cbaf92e2e47 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessagingConstants.java +++ b/briar-api/src/org/briarproject/api/sync/MessagingConstants.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; public interface MessagingConstants { diff --git a/briar-api/src/org/briarproject/api/messaging/MessagingSession.java b/briar-api/src/org/briarproject/api/sync/MessagingSession.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/MessagingSession.java rename to briar-api/src/org/briarproject/api/sync/MessagingSession.java index c4d8d398908e608bef5fd0ceb90e5344033d8aec..17009b964497636d2c45a1e652acbe2f19886fdf 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessagingSession.java +++ b/briar-api/src/org/briarproject/api/sync/MessagingSession.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.IOException; diff --git a/briar-api/src/org/briarproject/api/messaging/MessagingSessionFactory.java b/briar-api/src/org/briarproject/api/sync/MessagingSessionFactory.java similarity index 92% rename from briar-api/src/org/briarproject/api/messaging/MessagingSessionFactory.java rename to briar-api/src/org/briarproject/api/sync/MessagingSessionFactory.java index 8764f3e255bb0ed10e8a676b9887dfd63172b22d..0cae83d8902c576f0ea595d1d30106d4be419070 100644 --- a/briar-api/src/org/briarproject/api/messaging/MessagingSessionFactory.java +++ b/briar-api/src/org/briarproject/api/sync/MessagingSessionFactory.java @@ -1,11 +1,11 @@ -package org.briarproject.api.messaging; - -import java.io.InputStream; -import java.io.OutputStream; +package org.briarproject.api.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; +import java.io.InputStream; +import java.io.OutputStream; + public interface MessagingSessionFactory { MessagingSession createIncomingSession(ContactId c, TransportId t, diff --git a/briar-api/src/org/briarproject/api/messaging/Offer.java b/briar-api/src/org/briarproject/api/sync/Offer.java similarity index 74% rename from briar-api/src/org/briarproject/api/messaging/Offer.java rename to briar-api/src/org/briarproject/api/sync/Offer.java index 8ab4a0dc175e920bf734f975050f94eb64500f2c..6611fda66b236c4312b8dc3e3c612e2062acdd41 100644 --- a/briar-api/src/org/briarproject/api/messaging/Offer.java +++ b/briar-api/src/org/briarproject/api/sync/Offer.java @@ -1,8 +1,8 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.util.Collection; -/** A packet offering the recipient one or more {@link Messages}. */ +/** A packet offering the recipient one or more {@link Message}s. */ public class Offer { private final Collection<MessageId> offered; diff --git a/briar-api/src/org/briarproject/api/messaging/PacketReader.java b/briar-api/src/org/briarproject/api/sync/PacketReader.java similarity index 63% rename from briar-api/src/org/briarproject/api/messaging/PacketReader.java rename to briar-api/src/org/briarproject/api/sync/PacketReader.java index d390bf2498b6376caa9c5bbf813232972b9b93d6..b6c6e61e0093af60cf0223eb929483ded8e5144e 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketReader.java +++ b/briar-api/src/org/briarproject/api/sync/PacketReader.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.IOException; @@ -19,20 +19,20 @@ public interface PacketReader { Request readRequest() throws IOException; boolean hasRetentionAck() throws IOException; - RetentionAck readRetentionAck() throws IOException; + org.briarproject.api.sync.RetentionAck readRetentionAck() throws IOException; boolean hasRetentionUpdate() throws IOException; - RetentionUpdate readRetentionUpdate() throws IOException; + org.briarproject.api.sync.RetentionUpdate readRetentionUpdate() throws IOException; boolean hasSubscriptionAck() throws IOException; - SubscriptionAck readSubscriptionAck() throws IOException; + org.briarproject.api.sync.SubscriptionAck readSubscriptionAck() throws IOException; boolean hasSubscriptionUpdate() throws IOException; - SubscriptionUpdate readSubscriptionUpdate() throws IOException; + org.briarproject.api.sync.SubscriptionUpdate readSubscriptionUpdate() throws IOException; boolean hasTransportAck() throws IOException; TransportAck readTransportAck() throws IOException; boolean hasTransportUpdate() throws IOException; - TransportUpdate readTransportUpdate() throws IOException; + org.briarproject.api.sync.TransportUpdate readTransportUpdate() throws IOException; } diff --git a/briar-api/src/org/briarproject/api/messaging/PacketReaderFactory.java b/briar-api/src/org/briarproject/api/sync/PacketReaderFactory.java similarity index 75% rename from briar-api/src/org/briarproject/api/messaging/PacketReaderFactory.java rename to briar-api/src/org/briarproject/api/sync/PacketReaderFactory.java index 3bede6db2a0721debe6d81583f8f3d41348c4693..5e48269d2ff636e6da6c77ffb02914c3008226d0 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketReaderFactory.java +++ b/briar-api/src/org/briarproject/api/sync/PacketReaderFactory.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.InputStream; diff --git a/briar-api/src/org/briarproject/api/messaging/PacketTypes.java b/briar-api/src/org/briarproject/api/sync/PacketTypes.java similarity index 88% rename from briar-api/src/org/briarproject/api/messaging/PacketTypes.java rename to briar-api/src/org/briarproject/api/sync/PacketTypes.java index 41c2eee6f7c7cc5d5c7b5b6102995208eb81c007..595135d12596b918f7f3cf5d24a32f5cfb6d640c 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketTypes.java +++ b/briar-api/src/org/briarproject/api/sync/PacketTypes.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** Packet types for the messaging protocol. */ public interface PacketTypes { diff --git a/briar-api/src/org/briarproject/api/sync/PacketWriter.java b/briar-api/src/org/briarproject/api/sync/PacketWriter.java new file mode 100644 index 0000000000000000000000000000000000000000..3e43eeb48de2fde32b0cb4f9b4991e0208a69015 --- /dev/null +++ b/briar-api/src/org/briarproject/api/sync/PacketWriter.java @@ -0,0 +1,34 @@ +package org.briarproject.api.sync; + +import java.io.IOException; + +public interface PacketWriter { + + int getMaxMessagesForAck(long capacity); + + int getMaxMessagesForRequest(long capacity); + + int getMaxMessagesForOffer(long capacity); + + void writeAck(Ack a) throws IOException; + + void writeMessage(byte[] raw) throws IOException; + + void writeOffer(org.briarproject.api.sync.Offer o) throws IOException; + + void writeRequest(Request r) throws IOException; + + void writeRetentionAck(org.briarproject.api.sync.RetentionAck a) throws IOException; + + void writeRetentionUpdate(org.briarproject.api.sync.RetentionUpdate u) throws IOException; + + void writeSubscriptionAck(org.briarproject.api.sync.SubscriptionAck a) throws IOException; + + void writeSubscriptionUpdate(org.briarproject.api.sync.SubscriptionUpdate u) throws IOException; + + void writeTransportAck(org.briarproject.api.sync.TransportAck a) throws IOException; + + void writeTransportUpdate(org.briarproject.api.sync.TransportUpdate u) throws IOException; + + void flush() throws IOException; +} diff --git a/briar-api/src/org/briarproject/api/messaging/PacketWriterFactory.java b/briar-api/src/org/briarproject/api/sync/PacketWriterFactory.java similarity index 75% rename from briar-api/src/org/briarproject/api/messaging/PacketWriterFactory.java rename to briar-api/src/org/briarproject/api/sync/PacketWriterFactory.java index 5c1c5b4ec6a2e8848fb7aa88963a8f91bba04401..51befe31fe53715de89149f4e9260f5579254236 100644 --- a/briar-api/src/org/briarproject/api/messaging/PacketWriterFactory.java +++ b/briar-api/src/org/briarproject/api/sync/PacketWriterFactory.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.io.OutputStream; diff --git a/briar-api/src/org/briarproject/api/sync/Request.java b/briar-api/src/org/briarproject/api/sync/Request.java new file mode 100644 index 0000000000000000000000000000000000000000..3b562802dffbaae1756d8bbfdf3f5d27298f48a0 --- /dev/null +++ b/briar-api/src/org/briarproject/api/sync/Request.java @@ -0,0 +1,18 @@ +package org.briarproject.api.sync; + +import java.util.Collection; + +/** A packet requesting one or more {@link Message}s from the recipient. */ +public class Request { + + private final Collection<org.briarproject.api.sync.MessageId> requested; + + public Request(Collection<org.briarproject.api.sync.MessageId> requested) { + this.requested = requested; + } + + /** Returns the identifiers of the requested messages. */ + public Collection<org.briarproject.api.sync.MessageId> getMessageIds() { + return requested; + } +} diff --git a/briar-api/src/org/briarproject/api/messaging/RetentionAck.java b/briar-api/src/org/briarproject/api/sync/RetentionAck.java similarity index 88% rename from briar-api/src/org/briarproject/api/messaging/RetentionAck.java rename to briar-api/src/org/briarproject/api/sync/RetentionAck.java index 9a538e65a74f6a96eed7b6dca8c880d03786ae23..5c36a943455f01ba35d395fae6f472a4dcad4093 100644 --- a/briar-api/src/org/briarproject/api/messaging/RetentionAck.java +++ b/briar-api/src/org/briarproject/api/sync/RetentionAck.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** A packet acknowledging a (@link RetentionUpdate} */ public class RetentionAck { diff --git a/briar-api/src/org/briarproject/api/messaging/RetentionUpdate.java b/briar-api/src/org/briarproject/api/sync/RetentionUpdate.java similarity index 90% rename from briar-api/src/org/briarproject/api/messaging/RetentionUpdate.java rename to briar-api/src/org/briarproject/api/sync/RetentionUpdate.java index 4e8a59498013146adfcbcc0865e2d4a51f0df5e9..5955a3955a1b0c022e5272788dc0067d61bbee39 100644 --- a/briar-api/src/org/briarproject/api/messaging/RetentionUpdate.java +++ b/briar-api/src/org/briarproject/api/sync/RetentionUpdate.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** * A packet updating the recipient's view of the retention time of the sender's diff --git a/briar-api/src/org/briarproject/api/messaging/SubscriptionAck.java b/briar-api/src/org/briarproject/api/sync/SubscriptionAck.java similarity index 88% rename from briar-api/src/org/briarproject/api/messaging/SubscriptionAck.java rename to briar-api/src/org/briarproject/api/sync/SubscriptionAck.java index c304853858b37b69e623ad70512b4a5eedd407a8..b65ccf1c279116b8bc14aa7656265d8aa6436014 100644 --- a/briar-api/src/org/briarproject/api/messaging/SubscriptionAck.java +++ b/briar-api/src/org/briarproject/api/sync/SubscriptionAck.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; /** A packet acknowledging a {@link SubscriptionUpdate}. */ public class SubscriptionAck { diff --git a/briar-api/src/org/briarproject/api/messaging/SubscriptionUpdate.java b/briar-api/src/org/briarproject/api/sync/SubscriptionUpdate.java similarity index 93% rename from briar-api/src/org/briarproject/api/messaging/SubscriptionUpdate.java rename to briar-api/src/org/briarproject/api/sync/SubscriptionUpdate.java index 76f95ce097805175ad4df817608b6e0f73dfa2d9..0fabdf27836282b556aef156a22f3965f516f923 100644 --- a/briar-api/src/org/briarproject/api/messaging/SubscriptionUpdate.java +++ b/briar-api/src/org/briarproject/api/sync/SubscriptionUpdate.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import java.util.Collection; diff --git a/briar-api/src/org/briarproject/api/messaging/TransportAck.java b/briar-api/src/org/briarproject/api/sync/TransportAck.java similarity index 92% rename from briar-api/src/org/briarproject/api/messaging/TransportAck.java rename to briar-api/src/org/briarproject/api/sync/TransportAck.java index ce6ccd4fb0b55c52394f8daf6bd31fb8ba6dff15..160d24dfff062fe6fe838153c8596f35c7a21dee 100644 --- a/briar-api/src/org/briarproject/api/messaging/TransportAck.java +++ b/briar-api/src/org/briarproject/api/sync/TransportAck.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.TransportId; diff --git a/briar-api/src/org/briarproject/api/messaging/TransportUpdate.java b/briar-api/src/org/briarproject/api/sync/TransportUpdate.java similarity index 95% rename from briar-api/src/org/briarproject/api/messaging/TransportUpdate.java rename to briar-api/src/org/briarproject/api/sync/TransportUpdate.java index 78f2b5b1b7bf01be572448e6d2a3f130fb46d8bf..ea403ba342955f285b4d3baa49f12831de16a0d7 100644 --- a/briar-api/src/org/briarproject/api/messaging/TransportUpdate.java +++ b/briar-api/src/org/briarproject/api/sync/TransportUpdate.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; diff --git a/briar-api/src/org/briarproject/api/messaging/UnverifiedMessage.java b/briar-api/src/org/briarproject/api/sync/UnverifiedMessage.java similarity index 85% rename from briar-api/src/org/briarproject/api/messaging/UnverifiedMessage.java rename to briar-api/src/org/briarproject/api/sync/UnverifiedMessage.java index 1438e288c60c582be55dd6379dd49e6b16e513a7..9f8baf59c60aa714336c9e71111493cc5415e5a0 100644 --- a/briar-api/src/org/briarproject/api/messaging/UnverifiedMessage.java +++ b/briar-api/src/org/briarproject/api/sync/UnverifiedMessage.java @@ -1,4 +1,4 @@ -package org.briarproject.api.messaging; +package org.briarproject.api.sync; import org.briarproject.api.Author; @@ -6,14 +6,14 @@ import org.briarproject.api.Author; public class UnverifiedMessage { private final MessageId parent; - private final Group group; + private final org.briarproject.api.sync.Group group; private final Author author; private final String contentType; private final long timestamp; private final byte[] raw, signature; private final int bodyStart, bodyLength, signedLength; - public UnverifiedMessage(MessageId parent, Group group, Author author, + public UnverifiedMessage(MessageId parent, org.briarproject.api.sync.Group group, Author author, String contentType, long timestamp, byte[] raw, byte[] signature, int bodyStart, int bodyLength, int signedLength) { this.parent = parent; @@ -37,10 +37,10 @@ public class UnverifiedMessage { } /** - * Returns the {@link Group} to which the message belongs, or null if this + * Returns the {@link org.briarproject.api.sync.Group} to which the message belongs, or null if this * is a private message. */ - public Group getGroup() { + public org.briarproject.api.sync.Group getGroup() { return group; } diff --git a/briar-core/src/org/briarproject/db/Database.java b/briar-core/src/org/briarproject/db/Database.java index 9d3eda9bf891a361c08eb6ee2733b3b562765f4e..9e0e8045c3ecbd441d31bed8f2ace426248c55d9 100644 --- a/briar-core/src/org/briarproject/db/Database.java +++ b/briar-core/src/org/briarproject/db/Database.java @@ -10,17 +10,17 @@ import org.briarproject.api.TransportConfig; import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.TransportKeys; import java.io.IOException; diff --git a/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java b/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java index 4eafdfa5139ee1009b71e88ba3140b24c8cc5617..280dda05b9bc9e12cb648a08ad63fe0fe12ce1ea 100644 --- a/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java +++ b/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java @@ -13,7 +13,6 @@ import org.briarproject.api.db.ContactExistsException; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; import org.briarproject.api.db.LocalAuthorExistsException; -import org.briarproject.api.db.MessageHeader; import org.briarproject.api.db.NoSuchContactException; import org.briarproject.api.db.NoSuchLocalAuthorException; import org.briarproject.api.db.NoSuchMessageException; @@ -42,19 +41,20 @@ import org.briarproject.api.event.SubscriptionRemovedEvent; import org.briarproject.api.event.TransportAddedEvent; import org.briarproject.api.event.TransportRemovedEvent; import org.briarproject.api.lifecycle.ShutdownManager; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.TransportKeys; import java.io.IOException; diff --git a/briar-core/src/org/briarproject/db/JdbcDatabase.java b/briar-core/src/org/briarproject/db/JdbcDatabase.java index acecbf4fb79cee3234bb388e7af9d00db05c98a9..f51f4e192ecb4140b61db23dcf22a22758a73c2e 100644 --- a/briar-core/src/org/briarproject/db/JdbcDatabase.java +++ b/briar-core/src/org/briarproject/db/JdbcDatabase.java @@ -12,18 +12,18 @@ import org.briarproject.api.TransportProperties; import org.briarproject.api.crypto.SecretKey; import org.briarproject.api.db.DbClosedException; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.db.MessageHeader.State; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageHeader.State; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; @@ -57,8 +57,8 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.api.Author.Status.ANONYMOUS; import static org.briarproject.api.Author.Status.UNKNOWN; import static org.briarproject.api.Author.Status.VERIFIED; -import static org.briarproject.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; -import static org.briarproject.api.messaging.MessagingConstants.RETENTION_GRANULARITY; +import static org.briarproject.api.sync.MessagingConstants.MAX_SUBSCRIPTIONS; +import static org.briarproject.api.sync.MessagingConstants.RETENTION_GRANULARITY; import static org.briarproject.db.ExponentialBackoff.calculateExpiry; /** @@ -2675,7 +2675,6 @@ abstract class JdbcDatabase implements Database<Connection> { public void raiseRequestedFlag(Connection txn, ContactId c, MessageId m) throws DbException { PreparedStatement ps = null; - ResultSet rs = null; try { String sql = "UPDATE statuses SET requested = TRUE" + " WHERE messageId = ? AND contactId = ?"; @@ -2686,7 +2685,6 @@ abstract class JdbcDatabase implements Database<Connection> { if (affected < 0 || affected > 1) throw new DbStateException(); ps.close(); } catch (SQLException e) { - tryToClose(rs); tryToClose(ps); throw new DbException(e); } @@ -2695,7 +2693,6 @@ abstract class JdbcDatabase implements Database<Connection> { public void raiseSeenFlag(Connection txn, ContactId c, MessageId m) throws DbException { PreparedStatement ps = null; - ResultSet rs = null; try { String sql = "UPDATE statuses SET seen = TRUE" + " WHERE messageId = ? AND contactId = ?"; @@ -2706,7 +2703,6 @@ abstract class JdbcDatabase implements Database<Connection> { if (affected < 0 || affected > 1) throw new DbStateException(); ps.close(); } catch (SQLException e) { - tryToClose(rs); tryToClose(ps); throw new DbException(e); } diff --git a/briar-core/src/org/briarproject/invitation/AliceConnector.java b/briar-core/src/org/briarproject/invitation/AliceConnector.java index f37357385c74f2c90967c0ef34bd50f28bb828ea..460feac2404a43233b6ec260483329762cefa610 100644 --- a/briar-core/src/org/briarproject/invitation/AliceConnector.java +++ b/briar-core/src/org/briarproject/invitation/AliceConnector.java @@ -14,10 +14,10 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/BobConnector.java b/briar-core/src/org/briarproject/invitation/BobConnector.java index 845ee0df7ba724d8fa81191ee06baf2f0d232936..20c60061a07179dcfa4dcbff831311b8220103d7 100644 --- a/briar-core/src/org/briarproject/invitation/BobConnector.java +++ b/briar-core/src/org/briarproject/invitation/BobConnector.java @@ -14,10 +14,10 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/Connector.java b/briar-core/src/org/briarproject/invitation/Connector.java index d8c4e674fcc8df39a1eda267923f729161bb3491..47341606294bf41b63376d340397769b17c874e0 100644 --- a/briar-core/src/org/briarproject/invitation/Connector.java +++ b/briar-core/src/org/briarproject/invitation/Connector.java @@ -20,11 +20,11 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DbException; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java index 5861c07b005ced62980f51ec048125c95d534418..11c9855224b07eeb0ee17c22f4845fd2a8ecde37 100644 --- a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java +++ b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java @@ -15,10 +15,10 @@ import org.briarproject.api.db.DbException; import org.briarproject.api.invitation.InvitationListener; import org.briarproject.api.invitation.InvitationState; import org.briarproject.api.invitation.InvitationTask; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.PluginManager; import org.briarproject.api.plugins.duplex.DuplexPlugin; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; diff --git a/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java b/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java index 97c65c0985a67b96a28a8753dab46717b87555dc..7438deccd747fd9fbb47f282b9eff1dd929da940 100644 --- a/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java +++ b/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java @@ -1,7 +1,5 @@ package org.briarproject.invitation; -import javax.inject.Inject; - import org.briarproject.api.AuthorFactory; import org.briarproject.api.AuthorId; import org.briarproject.api.crypto.CryptoComponent; @@ -10,14 +8,16 @@ import org.briarproject.api.data.WriterFactory; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.invitation.InvitationTask; import org.briarproject.api.invitation.InvitationTaskFactory; -import org.briarproject.api.messaging.GroupFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.PluginManager; +import org.briarproject.api.sync.GroupFactory; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; +import javax.inject.Inject; + class InvitationTaskFactoryImpl implements InvitationTaskFactory { private final CryptoComponent crypto; diff --git a/briar-core/src/org/briarproject/messaging/ThrowingRunnable.java b/briar-core/src/org/briarproject/messaging/ThrowingRunnable.java deleted file mode 100644 index 334581daac6631e0e3245299d2762cf359fecf60..0000000000000000000000000000000000000000 --- a/briar-core/src/org/briarproject/messaging/ThrowingRunnable.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.briarproject.messaging; - -interface ThrowingRunnable<T extends Throwable> { - - public void run() throws T; -} diff --git a/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java b/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java index 5b1e32be1031afb730aa4be533898df0e816063f..20c7fb49de3626ba36c10dce136e327458c5ff39 100644 --- a/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java +++ b/briar-core/src/org/briarproject/plugins/ConnectionManagerImpl.java @@ -1,33 +1,33 @@ package org.briarproject.plugins; -import static java.util.logging.Level.WARNING; -import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; - -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.concurrent.Executor; -import java.util.logging.Logger; - -import javax.inject.Inject; - import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; import org.briarproject.api.db.DbException; import org.briarproject.api.lifecycle.IoExecutor; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.MessagingSessionFactory; import org.briarproject.api.plugins.ConnectionManager; import org.briarproject.api.plugins.ConnectionRegistry; import org.briarproject.api.plugins.TransportConnectionReader; import org.briarproject.api.plugins.TransportConnectionWriter; import org.briarproject.api.plugins.duplex.DuplexTransportConnection; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.MessagingSessionFactory; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamContext; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static java.util.logging.Level.WARNING; +import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; + class ConnectionManagerImpl implements ConnectionManager { private static final Logger LOG = diff --git a/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java b/briar-core/src/org/briarproject/sync/AuthorFactoryImpl.java similarity index 97% rename from briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java rename to briar-core/src/org/briarproject/sync/AuthorFactoryImpl.java index 14581372914ac7387c5c755731a7665546687257..c0cf59deb74097730571ce2f0c522a9728406f3f 100644 --- a/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/AuthorFactoryImpl.java @@ -1,9 +1,4 @@ -package org.briarproject.messaging; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.AuthorFactory; @@ -15,6 +10,11 @@ import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; import org.briarproject.api.system.Clock; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import javax.inject.Inject; + class AuthorFactoryImpl implements AuthorFactory { private final CryptoComponent crypto; diff --git a/briar-core/src/org/briarproject/messaging/AuthorReader.java b/briar-core/src/org/briarproject/sync/AuthorReader.java similarity index 97% rename from briar-core/src/org/briarproject/messaging/AuthorReader.java rename to briar-core/src/org/briarproject/sync/AuthorReader.java index 3223b4ca20029709a060479b1c89c7f2b5acdf46..22aa7a5f1290c23e0ef62ccf0067ff5d6604127a 100644 --- a/briar-core/src/org/briarproject/messaging/AuthorReader.java +++ b/briar-core/src/org/briarproject/sync/AuthorReader.java @@ -1,9 +1,4 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; -import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.AuthorId; @@ -13,6 +8,11 @@ import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.data.ObjectReader; import org.briarproject.api.data.Reader; +import java.io.IOException; + +import static org.briarproject.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; + class AuthorReader implements ObjectReader<Author> { private final MessageDigest messageDigest; diff --git a/briar-core/src/org/briarproject/messaging/CopyingConsumer.java b/briar-core/src/org/briarproject/sync/CopyingConsumer.java similarity index 93% rename from briar-core/src/org/briarproject/messaging/CopyingConsumer.java rename to briar-core/src/org/briarproject/sync/CopyingConsumer.java index 76bbd49adcf78999ac71950c01716ef6062f8de7..39ee00b25fe4a10962849c175ed1941fa62c1d8d 100644 --- a/briar-core/src/org/briarproject/messaging/CopyingConsumer.java +++ b/briar-core/src/org/briarproject/sync/CopyingConsumer.java @@ -1,10 +1,10 @@ -package org.briarproject.messaging; +package org.briarproject.sync; + +import org.briarproject.api.data.Consumer; import java.io.ByteArrayOutputStream; import java.io.IOException; -import org.briarproject.api.data.Consumer; - /** A consumer that makes a copy of the bytes consumed. */ class CopyingConsumer implements Consumer { diff --git a/briar-core/src/org/briarproject/messaging/CountingConsumer.java b/briar-core/src/org/briarproject/sync/CountingConsumer.java similarity index 95% rename from briar-core/src/org/briarproject/messaging/CountingConsumer.java rename to briar-core/src/org/briarproject/sync/CountingConsumer.java index 8b01aa06b21a716e36b25581155dd4a68b2f4381..63b2874e07e40ff3e98218706ab5f32c46951ef9 100644 --- a/briar-core/src/org/briarproject/messaging/CountingConsumer.java +++ b/briar-core/src/org/briarproject/sync/CountingConsumer.java @@ -1,10 +1,10 @@ -package org.briarproject.messaging; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.FormatException; import org.briarproject.api.data.Consumer; +import java.io.IOException; + /** * A consumer that counts the number of bytes consumed and throws a * FormatException if the count exceeds a given limit. diff --git a/briar-core/src/org/briarproject/messaging/DigestingConsumer.java b/briar-core/src/org/briarproject/sync/DigestingConsumer.java similarity index 93% rename from briar-core/src/org/briarproject/messaging/DigestingConsumer.java rename to briar-core/src/org/briarproject/sync/DigestingConsumer.java index e9bb102eb0f0a10abd7078adcdb0168c539a28d4..ee217334e878dda00880a4421ce581668b710a1c 100644 --- a/briar-core/src/org/briarproject/messaging/DigestingConsumer.java +++ b/briar-core/src/org/briarproject/sync/DigestingConsumer.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.data.Consumer; diff --git a/briar-core/src/org/briarproject/messaging/DuplexOutgoingSession.java b/briar-core/src/org/briarproject/sync/DuplexOutgoingSession.java similarity index 95% rename from briar-core/src/org/briarproject/messaging/DuplexOutgoingSession.java rename to briar-core/src/org/briarproject/sync/DuplexOutgoingSession.java index a2b1ff99f86c6cb8fe778ce2e096ff1c43dd8dc4..ad7cea37582f50d02ebbbe6aadad355a024ee5b6 100644 --- a/briar-core/src/org/briarproject/messaging/DuplexOutgoingSession.java +++ b/briar-core/src/org/briarproject/sync/DuplexOutgoingSession.java @@ -1,16 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; - -import java.io.IOException; -import java.util.Collection; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Executor; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.logging.Logger; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; @@ -32,21 +20,33 @@ import org.briarproject.api.event.RemoteSubscriptionsUpdatedEvent; import org.briarproject.api.event.RemoteTransportsUpdatedEvent; import org.briarproject.api.event.ShutdownEvent; import org.briarproject.api.event.TransportRemovedEvent; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.system.Clock; +import java.io.IOException; +import java.util.Collection; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executor; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.logging.Logger; + +import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; + /** - * An outgoing {@link org.briarproject.api.messaging.MessagingSession + * An outgoing {@link MessagingSession * MessagingSession} suitable for duplex transports. The session offers * messages before sending them, keeps its output stream open when there are no * packets to send, and reacts to events that make packets available to send. diff --git a/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java b/briar-core/src/org/briarproject/sync/GroupFactoryImpl.java similarity index 83% rename from briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java rename to briar-core/src/org/briarproject/sync/GroupFactoryImpl.java index 37bee81a29643be5c9a52d4e5173edba9b5ad7c0..2b422b917c9947f2a74211fa89f2f20ecaa4aefc 100644 --- a/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/GroupFactoryImpl.java @@ -1,19 +1,19 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import org.briarproject.api.crypto.CryptoComponent; +import org.briarproject.api.crypto.MessageDigest; +import org.briarproject.api.data.Writer; +import org.briarproject.api.data.WriterFactory; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.GroupId; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.inject.Inject; -import org.briarproject.api.crypto.CryptoComponent; -import org.briarproject.api.crypto.MessageDigest; -import org.briarproject.api.data.Writer; -import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.GroupId; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; class GroupFactoryImpl implements GroupFactory { diff --git a/briar-core/src/org/briarproject/messaging/GroupReader.java b/briar-core/src/org/briarproject/sync/GroupReader.java similarity index 77% rename from briar-core/src/org/briarproject/messaging/GroupReader.java rename to briar-core/src/org/briarproject/sync/GroupReader.java index 6e6f5d3c83cd8af19827936f671d82d0a8de497e..9ee9fe1a0507e6aae30fc5fe080ca7c7968c7a40 100644 --- a/briar-core/src/org/briarproject/messaging/GroupReader.java +++ b/briar-core/src/org/briarproject/sync/GroupReader.java @@ -1,17 +1,17 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.FormatException; import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.data.ObjectReader; import org.briarproject.api.data.Reader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; + +import java.io.IOException; + +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_GROUP_NAME_LENGTH; class GroupReader implements ObjectReader<Group> { diff --git a/briar-core/src/org/briarproject/messaging/IncomingSession.java b/briar-core/src/org/briarproject/sync/IncomingSession.java similarity index 90% rename from briar-core/src/org/briarproject/messaging/IncomingSession.java rename to briar-core/src/org/briarproject/sync/IncomingSession.java index a3c8d1cde265104fda18ba849bd36dffb602bf04..092cf507944b91f16b8e29a4f85a75e7420b1169 100644 --- a/briar-core/src/org/briarproject/messaging/IncomingSession.java +++ b/briar-core/src/org/briarproject/sync/IncomingSession.java @@ -1,11 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.logging.Level.WARNING; - -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.util.concurrent.Executor; -import java.util.logging.Logger; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.FormatException; @@ -18,23 +11,30 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.ShutdownEvent; import org.briarproject.api.event.TransportRemovedEvent; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.api.sync.UnverifiedMessage; + +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.concurrent.Executor; +import java.util.logging.Logger; + +import static java.util.logging.Level.WARNING; /** - * An incoming {@link org.briarproject.api.messaging.MessagingSession + * An incoming {@link MessagingSession * MessagingSession}. */ class IncomingSession implements MessagingSession, EventListener { diff --git a/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java b/briar-core/src/org/briarproject/sync/MessageFactoryImpl.java similarity index 85% rename from briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java rename to briar-core/src/org/briarproject/sync/MessageFactoryImpl.java index d584a9daf07fedef8f10b9c299c9a86df30ddf6a..9b7e4c4b7afeb90d286f6961275dedf94ca24862 100644 --- a/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/MessageFactoryImpl.java @@ -1,17 +1,4 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MESSAGE_SALT_LENGTH; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.security.GeneralSecurityException; -import java.security.SecureRandom; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.crypto.CryptoComponent; @@ -21,12 +8,25 @@ import org.briarproject.api.crypto.Signature; import org.briarproject.api.data.Consumer; import org.briarproject.api.data.Writer; import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; import org.briarproject.util.StringUtils; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.security.SecureRandom; + +import javax.inject.Inject; + +import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MESSAGE_SALT_LENGTH; + class MessageFactoryImpl implements MessageFactory { private final Signature signature; @@ -78,7 +78,7 @@ class MessageFactoryImpl implements MessageFactory { Consumer signingConsumer = null; if (privateKey != null) { signature.initSign(privateKey); - signingConsumer = new SigningConsumer(signature); + signingConsumer = new org.briarproject.sync.SigningConsumer(signature); w.addConsumer(signingConsumer); } // Write the message @@ -109,7 +109,7 @@ class MessageFactoryImpl implements MessageFactory { // Hash the message, including the signature, to get the message ID w.removeConsumer(digestingConsumer); MessageId id = new MessageId(messageDigest.digest()); - return new MessageImpl(id, parent, group, author, contentType, + return new org.briarproject.sync.MessageImpl(id, parent, group, author, contentType, timestamp, out.toByteArray(), bodyStart, body.length); } diff --git a/briar-core/src/org/briarproject/messaging/MessageImpl.java b/briar-core/src/org/briarproject/sync/MessageImpl.java similarity index 85% rename from briar-core/src/org/briarproject/messaging/MessageImpl.java rename to briar-core/src/org/briarproject/sync/MessageImpl.java index 32a2caeaf2618d62e44bfeb74f645f1237b33cba..761d2e9b6e06c921c6154648029f61ae2e532c1d 100644 --- a/briar-core/src/org/briarproject/messaging/MessageImpl.java +++ b/briar-core/src/org/briarproject/sync/MessageImpl.java @@ -1,11 +1,11 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; +package org.briarproject.sync; import org.briarproject.api.Author; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; + +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; /** A simple in-memory implementation of a message. */ class MessageImpl implements Message { diff --git a/briar-core/src/org/briarproject/messaging/MessageReader.java b/briar-core/src/org/briarproject/sync/MessageReader.java similarity index 82% rename from briar-core/src/org/briarproject/messaging/MessageReader.java rename to briar-core/src/org/briarproject/sync/MessageReader.java index a415ce0c4cbb11e275b745379a7135c31fa9c14c..fc549af8312bfe7bc0cd201c05fc8b98a24ecdf3 100644 --- a/briar-core/src/org/briarproject/messaging/MessageReader.java +++ b/briar-core/src/org/briarproject/sync/MessageReader.java @@ -1,21 +1,21 @@ -package org.briarproject.messaging; - -import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MESSAGE_SALT_LENGTH; - -import java.io.IOException; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.FormatException; import org.briarproject.api.UniqueId; import org.briarproject.api.data.ObjectReader; import org.briarproject.api.data.Reader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.UnverifiedMessage; + +import java.io.IOException; + +import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MESSAGE_SALT_LENGTH; class MessageReader implements ObjectReader<UnverifiedMessage> { diff --git a/briar-core/src/org/briarproject/messaging/MessageVerifierImpl.java b/briar-core/src/org/briarproject/sync/MessageVerifierImpl.java similarity index 90% rename from briar-core/src/org/briarproject/messaging/MessageVerifierImpl.java rename to briar-core/src/org/briarproject/sync/MessageVerifierImpl.java index 4daa9066629006dd142f7c200cd69f924b660917..9c38f3b7b264d3b12d1003b9b1d355a94660fae4 100644 --- a/briar-core/src/org/briarproject/messaging/MessageVerifierImpl.java +++ b/briar-core/src/org/briarproject/sync/MessageVerifierImpl.java @@ -1,12 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.logging.Level.INFO; -import static org.briarproject.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; - -import java.security.GeneralSecurityException; -import java.util.logging.Logger; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.Author; import org.briarproject.api.crypto.CryptoComponent; @@ -14,12 +6,20 @@ import org.briarproject.api.crypto.KeyParser; import org.briarproject.api.crypto.MessageDigest; import org.briarproject.api.crypto.PublicKey; import org.briarproject.api.crypto.Signature; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.UnverifiedMessage; import org.briarproject.api.system.Clock; +import java.security.GeneralSecurityException; +import java.util.logging.Logger; + +import javax.inject.Inject; + +import static java.util.logging.Level.INFO; +import static org.briarproject.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; + class MessageVerifierImpl implements MessageVerifier { private static final Logger LOG = diff --git a/briar-core/src/org/briarproject/messaging/MessagingModule.java b/briar-core/src/org/briarproject/sync/MessagingModule.java similarity index 70% rename from briar-core/src/org/briarproject/messaging/MessagingModule.java rename to briar-core/src/org/briarproject/sync/MessagingModule.java index 1b58a8e57725588d33e5b32babf3a86fdbe05526..205ca471773f05930a39091b9dcf1b2cf1284454 100644 --- a/briar-core/src/org/briarproject/messaging/MessagingModule.java +++ b/briar-core/src/org/briarproject/sync/MessagingModule.java @@ -1,23 +1,23 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import javax.inject.Singleton; +import com.google.inject.AbstractModule; +import com.google.inject.Provides; import org.briarproject.api.Author; import org.briarproject.api.AuthorFactory; import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSessionFactory; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSessionFactory; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriterFactory; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.UnverifiedMessage; -import com.google.inject.AbstractModule; -import com.google.inject.Provides; +import javax.inject.Singleton; public class MessagingModule extends AbstractModule { @@ -47,7 +47,7 @@ public class MessagingModule extends AbstractModule { ObjectReader<UnverifiedMessage> getMessageReader( ObjectReader<Group> groupReader, ObjectReader<Author> authorReader) { - return new MessageReader(groupReader, authorReader); + return new org.briarproject.sync.MessageReader(groupReader, authorReader); } @Provides diff --git a/briar-core/src/org/briarproject/messaging/MessagingSessionFactoryImpl.java b/briar-core/src/org/briarproject/sync/MessagingSessionFactoryImpl.java similarity index 84% rename from briar-core/src/org/briarproject/messaging/MessagingSessionFactoryImpl.java rename to briar-core/src/org/briarproject/sync/MessagingSessionFactoryImpl.java index c7a31f6094642f983c2549ff460b989c3579f6c5..13c14244c019d8d96969d829a15bafcbfa17570a 100644 --- a/briar-core/src/org/briarproject/messaging/MessagingSessionFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/MessagingSessionFactoryImpl.java @@ -1,10 +1,4 @@ -package org.briarproject.messaging; - -import java.io.InputStream; -import java.io.OutputStream; -import java.util.concurrent.Executor; - -import javax.inject.Inject; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; @@ -12,15 +6,21 @@ import org.briarproject.api.crypto.CryptoExecutor; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DatabaseExecutor; import org.briarproject.api.event.EventBus; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.MessagingSessionFactory; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.MessagingSessionFactory; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; import org.briarproject.api.system.Clock; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.Executor; + +import javax.inject.Inject; + class MessagingSessionFactoryImpl implements MessagingSessionFactory { private final DatabaseComponent db; diff --git a/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java b/briar-core/src/org/briarproject/sync/PacketReaderFactoryImpl.java similarity index 76% rename from briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java rename to briar-core/src/org/briarproject/sync/PacketReaderFactoryImpl.java index 1bca8fcee6e5c313608cc2503673f8910be196e2..19766e31a2ea0c09deeb5d95c88466ff5dcff176 100644 --- a/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketReaderFactoryImpl.java @@ -1,16 +1,16 @@ -package org.briarproject.messaging; +package org.briarproject.sync; + +import org.briarproject.api.data.ObjectReader; +import org.briarproject.api.data.ReaderFactory; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.UnverifiedMessage; import java.io.InputStream; import javax.inject.Inject; -import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.data.ReaderFactory; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; - class PacketReaderFactoryImpl implements PacketReaderFactory { private final ReaderFactory readerFactory; diff --git a/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java b/briar-core/src/org/briarproject/sync/PacketReaderImpl.java similarity index 87% rename from briar-core/src/org/briarproject/messaging/PacketReaderImpl.java rename to briar-core/src/org/briarproject/sync/PacketReaderImpl.java index a18b86e9051295631b9982ff0f2cad8bc665ac57..c5c8e5a09b02f27091218121dd8ad323684324e3 100644 --- a/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketReaderImpl.java @@ -1,21 +1,25 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; -import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; -import static org.briarproject.api.TransportPropertyConstants.MAX_TRANSPORT_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.PROTOCOL_VERSION; -import static org.briarproject.api.messaging.PacketTypes.ACK; -import static org.briarproject.api.messaging.PacketTypes.MESSAGE; -import static org.briarproject.api.messaging.PacketTypes.OFFER; -import static org.briarproject.api.messaging.PacketTypes.REQUEST; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_ACK; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_UPDATE; +import org.briarproject.api.FormatException; +import org.briarproject.api.TransportId; +import org.briarproject.api.TransportProperties; +import org.briarproject.api.UniqueId; +import org.briarproject.api.data.ObjectReader; +import org.briarproject.api.data.Reader; +import org.briarproject.api.data.ReaderFactory; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.api.sync.UnverifiedMessage; +import org.briarproject.util.ByteUtils; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -26,31 +30,27 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.briarproject.api.FormatException; -import org.briarproject.api.TransportId; -import org.briarproject.api.TransportProperties; -import org.briarproject.api.UniqueId; -import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.data.Reader; -import org.briarproject.api.data.ReaderFactory; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; -import org.briarproject.util.ByteUtils; +import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; +import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; +import static org.briarproject.api.TransportPropertyConstants.MAX_TRANSPORT_ID_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.HEADER_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.PROTOCOL_VERSION; +import static org.briarproject.api.sync.PacketTypes.ACK; +import static org.briarproject.api.sync.PacketTypes.MESSAGE; +import static org.briarproject.api.sync.PacketTypes.OFFER; +import static org.briarproject.api.sync.PacketTypes.REQUEST; +import static org.briarproject.api.sync.PacketTypes.RETENTION_ACK; +import static org.briarproject.api.sync.PacketTypes.RETENTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_ACK; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_ACK; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_UPDATE; // This class is not thread-safe class PacketReaderImpl implements PacketReader { - private enum State { BUFFER_EMPTY, BUFFER_FULL, EOF }; + private enum State { BUFFER_EMPTY, BUFFER_FULL, EOF } private final ReaderFactory readerFactory; private final ObjectReader<UnverifiedMessage> messageReader; diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java b/briar-core/src/org/briarproject/sync/PacketWriterFactoryImpl.java similarity index 75% rename from briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java rename to briar-core/src/org/briarproject/sync/PacketWriterFactoryImpl.java index e3d771774157f7c7c32289b3609c84ec1287aea2..4925e0eb2f5149cb418e7c9552043e459f139f3f 100644 --- a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketWriterFactoryImpl.java @@ -1,13 +1,13 @@ -package org.briarproject.messaging; +package org.briarproject.sync; + +import org.briarproject.api.data.WriterFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; import java.io.OutputStream; import javax.inject.Inject; -import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; - class PacketWriterFactoryImpl implements PacketWriterFactory { private final WriterFactory writerFactory; diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java b/briar-core/src/org/briarproject/sync/PacketWriterImpl.java similarity index 75% rename from briar-core/src/org/briarproject/messaging/PacketWriterImpl.java rename to briar-core/src/org/briarproject/sync/PacketWriterImpl.java index ced4d417910bc50c7c6003ca4d28a0e19f1d6a1b..62263d181e023d9f643db73b1fc520ab472060f1 100644 --- a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java +++ b/briar-core/src/org/briarproject/sync/PacketWriterImpl.java @@ -1,41 +1,41 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH; -import static org.briarproject.api.data.DataConstants.LIST_START_LENGTH; -import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.PROTOCOL_VERSION; -import static org.briarproject.api.messaging.PacketTypes.ACK; -import static org.briarproject.api.messaging.PacketTypes.OFFER; -import static org.briarproject.api.messaging.PacketTypes.REQUEST; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.RETENTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_ACK; -import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_UPDATE; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_ACK; -import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_UPDATE; +import org.briarproject.api.data.Writer; +import org.briarproject.api.data.WriterFactory; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketTypes; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.util.ByteUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; -import org.briarproject.api.data.Writer; -import org.briarproject.api.data.WriterFactory; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketTypes; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.util.ByteUtils; +import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH; +import static org.briarproject.api.data.DataConstants.LIST_START_LENGTH; +import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.HEADER_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.PROTOCOL_VERSION; +import static org.briarproject.api.sync.PacketTypes.ACK; +import static org.briarproject.api.sync.PacketTypes.OFFER; +import static org.briarproject.api.sync.PacketTypes.REQUEST; +import static org.briarproject.api.sync.PacketTypes.RETENTION_ACK; +import static org.briarproject.api.sync.PacketTypes.RETENTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_ACK; +import static org.briarproject.api.sync.PacketTypes.SUBSCRIPTION_UPDATE; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_ACK; +import static org.briarproject.api.sync.PacketTypes.TRANSPORT_UPDATE; // This class is not thread-safe class PacketWriterImpl implements PacketWriter { diff --git a/briar-core/src/org/briarproject/messaging/SigningConsumer.java b/briar-core/src/org/briarproject/sync/SigningConsumer.java similarity index 92% rename from briar-core/src/org/briarproject/messaging/SigningConsumer.java rename to briar-core/src/org/briarproject/sync/SigningConsumer.java index 137cd8c61498ab27a52f7a1573d15c3b688a8b07..4947cd659106c737b5bf889917cc3875379d8416 100644 --- a/briar-core/src/org/briarproject/messaging/SigningConsumer.java +++ b/briar-core/src/org/briarproject/sync/SigningConsumer.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.api.crypto.Signature; import org.briarproject.api.data.Consumer; diff --git a/briar-core/src/org/briarproject/messaging/SimplexOutgoingSession.java b/briar-core/src/org/briarproject/sync/SimplexOutgoingSession.java similarity index 94% rename from briar-core/src/org/briarproject/messaging/SimplexOutgoingSession.java rename to briar-core/src/org/briarproject/sync/SimplexOutgoingSession.java index e77c3308d0e3435de50cac44d08d421e95ff043a..b82ff02012fcc9999d8e3d9aea9da6d1675d62a8 100644 --- a/briar-core/src/org/briarproject/messaging/SimplexOutgoingSession.java +++ b/briar-core/src/org/briarproject/sync/SimplexOutgoingSession.java @@ -1,16 +1,4 @@ -package org.briarproject.messaging; - -import static java.util.logging.Level.INFO; -import static java.util.logging.Level.WARNING; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; - -import java.io.IOException; -import java.util.Collection; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Executor; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.Logger; +package org.briarproject.sync; import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; @@ -22,18 +10,30 @@ import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.ShutdownEvent; import org.briarproject.api.event.TransportRemovedEvent; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; + +import java.io.IOException; +import java.util.Collection; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Executor; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.logging.Logger; + +import static java.util.logging.Level.INFO; +import static java.util.logging.Level.WARNING; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; /** - * An outgoing {@link org.briarproject.api.messaging.MessagingSession + * An outgoing {@link MessagingSession * MessagingSession} suitable for simplex transports. The session sends * messages without offering them, and closes its output stream when there are * no more packets to send. diff --git a/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java b/briar-core/src/org/briarproject/sync/SubscriptionUpdateReader.java similarity index 81% rename from briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java rename to briar-core/src/org/briarproject/sync/SubscriptionUpdateReader.java index 0632ada96530886a70cc5bf7e7089817360b6a80..3b6b0594d4ad9c8b85797b830336cd4b83f99627 100644 --- a/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java +++ b/briar-core/src/org/briarproject/sync/SubscriptionUpdateReader.java @@ -1,7 +1,12 @@ -package org.briarproject.messaging; +package org.briarproject.sync; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; +import org.briarproject.api.FormatException; +import org.briarproject.api.data.Consumer; +import org.briarproject.api.data.ObjectReader; +import org.briarproject.api.data.Reader; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.SubscriptionUpdate; import java.io.IOException; import java.util.ArrayList; @@ -10,13 +15,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.briarproject.api.FormatException; -import org.briarproject.api.data.Consumer; -import org.briarproject.api.data.ObjectReader; -import org.briarproject.api.data.Reader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.SubscriptionUpdate; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_SUBSCRIPTIONS; class SubscriptionUpdateReader implements ObjectReader<SubscriptionUpdate> { diff --git a/briar-core/src/org/briarproject/sync/ThrowingRunnable.java b/briar-core/src/org/briarproject/sync/ThrowingRunnable.java new file mode 100644 index 0000000000000000000000000000000000000000..5532a8fc0facbdf393b240f2920087b8a8f46fbc --- /dev/null +++ b/briar-core/src/org/briarproject/sync/ThrowingRunnable.java @@ -0,0 +1,6 @@ +package org.briarproject.sync; + +interface ThrowingRunnable<T extends Throwable> { + + void run() throws T; +} diff --git a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java index 07405398bff5990d3dcd7a9123997dd4e111fceb..e449d1e4809470349fef4575154d9ab9d8cf3167 100644 --- a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java +++ b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java @@ -11,22 +11,22 @@ import org.briarproject.api.TransportProperties; import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.KeyPair; import org.briarproject.api.crypto.SecretKey; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.messaging.UnverifiedMessage; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportUpdate; +import org.briarproject.api.sync.UnverifiedMessage; import org.briarproject.api.transport.StreamContext; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; @@ -34,7 +34,7 @@ import org.briarproject.crypto.CryptoModule; import org.briarproject.data.DataModule; import org.briarproject.db.DatabaseModule; import org.briarproject.event.EventModule; -import org.briarproject.messaging.MessagingModule; +import org.briarproject.sync.MessagingModule; import org.briarproject.transport.TransportModule; import org.junit.Test; diff --git a/briar-tests/src/org/briarproject/TestMessage.java b/briar-tests/src/org/briarproject/TestMessage.java index 4249a809f43af91a9a9d40d3fd29dc2b7da3c99c..bea7d78e832cfbebe4a89354cbc55a5935a7c498 100644 --- a/briar-tests/src/org/briarproject/TestMessage.java +++ b/briar-tests/src/org/briarproject/TestMessage.java @@ -1,9 +1,9 @@ package org.briarproject; import org.briarproject.api.Author; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; import java.io.ByteArrayInputStream; import java.io.InputStream; diff --git a/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java b/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java index 0c4c69792d864061e8fb870f4d20120f2a3a0dfe..01dd33cb9f11297d1fb19196e0c2e2c1ab6b350c 100644 --- a/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java +++ b/briar-tests/src/org/briarproject/db/DatabaseComponentTest.java @@ -33,19 +33,19 @@ import org.briarproject.api.event.MessagesSentEvent; import org.briarproject.api.event.SubscriptionAddedEvent; import org.briarproject.api.event.SubscriptionRemovedEvent; import org.briarproject.api.lifecycle.ShutdownManager; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.RetentionAck; -import org.briarproject.api.messaging.RetentionUpdate; -import org.briarproject.api.messaging.SubscriptionAck; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportAck; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.RetentionAck; +import org.briarproject.api.sync.RetentionUpdate; +import org.briarproject.api.sync.SubscriptionAck; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportAck; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; import org.briarproject.api.transport.TransportKeys; @@ -58,7 +58,7 @@ import java.util.Collection; import java.util.Collections; import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; import static org.briarproject.db.DatabaseConstants.MAX_OFFERED_MESSAGES; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -335,137 +335,187 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.addTransportKeys(contactId, createTransportKeys()); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateAck(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateBatch(contactId, 123, 456); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateOffer(contactId, 123, 456); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateRetentionAck(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateRetentionUpdate(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateSubscriptionAck(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateSubscriptionUpdate(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateTransportAcks(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.generateTransportUpdates(contactId, 123); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.getContact(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.getInboxGroupId(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.incrementStreamCounter(contactId, transportId, 0); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { Ack a = new Ack(Collections.singletonList(messageId)); db.receiveAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.receiveMessage(contactId, message); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { Offer o = new Offer(Collections.singletonList(messageId)); db.receiveOffer(contactId, o); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { RetentionAck a = new RetentionAck(0); db.receiveRetentionAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { RetentionUpdate u = new RetentionUpdate(0, 1); db.receiveRetentionUpdate(contactId, u); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { SubscriptionAck a = new SubscriptionAck(0); db.receiveSubscriptionAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { SubscriptionUpdate u = new SubscriptionUpdate( Collections.<Group>emptyList(), 1); db.receiveSubscriptionUpdate(contactId, u); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { TransportAck a = new TransportAck(transportId, 0); db.receiveTransportAck(contactId, a); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { TransportUpdate u = new TransportUpdate(transportId, transportProperties, 1); db.receiveTransportUpdate(contactId, u); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.removeContact(contactId); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.setReorderingWindow(contactId, transportId, 0, 0, new byte[4]); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } try { db.setInboxGroup(contactId, group); fail(); - } catch (NoSuchContactException expected) {} + } catch (NoSuchContactException expected) { + // Expected + } context.assertIsSatisfied(); } @@ -496,17 +546,23 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.addContact(author, localAuthorId); fail(); - } catch (NoSuchLocalAuthorException expected) {} + } catch (NoSuchLocalAuthorException expected) { + // Expected + } try { db.getLocalAuthor(localAuthorId); fail(); - } catch (NoSuchLocalAuthorException expected) {} + } catch (NoSuchLocalAuthorException expected) { + // Expected + } try { db.removeLocalAuthor(localAuthorId); fail(); - } catch (NoSuchLocalAuthorException expected) {} + } catch (NoSuchLocalAuthorException expected) { + // Expected + } context.assertIsSatisfied(); } @@ -534,27 +590,37 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.getGroup(groupId); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.getMessageHeaders(groupId); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.getVisibility(groupId); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.removeGroup(group); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } try { db.setVisibility(groupId, Collections.<ContactId>emptyList()); fail(); - } catch (NoSuchSubscriptionException expected) {} + } catch (NoSuchSubscriptionException expected) { + // Expected + } context.assertIsSatisfied(); } @@ -606,42 +672,58 @@ public abstract class DatabaseComponentTest extends BriarTestCase { try { db.getConfig(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.getLocalProperties(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.getTransportKeys(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.mergeConfig(transportId, new TransportConfig()); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.mergeLocalProperties(transportId, new TransportProperties()); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.incrementStreamCounter(contactId, transportId, 0); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.removeTransport(transportId); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } try { db.setReorderingWindow(contactId, transportId, 0, 0, new byte[4]); fail(); - } catch (NoSuchTransportException expected) {} + } catch (NoSuchTransportException expected) { + // Expected + } context.assertIsSatisfied(); } diff --git a/briar-tests/src/org/briarproject/db/H2DatabaseTest.java b/briar-tests/src/org/briarproject/db/H2DatabaseTest.java index d771973a73a25c83b81e12b86f6c99604ba3092b..686789f687f62e0089f88f0cd80db7dc0d7b9453 100644 --- a/briar-tests/src/org/briarproject/db/H2DatabaseTest.java +++ b/briar-tests/src/org/briarproject/db/H2DatabaseTest.java @@ -13,11 +13,11 @@ import org.briarproject.api.TransportId; import org.briarproject.api.TransportProperties; import org.briarproject.api.crypto.SecretKey; import org.briarproject.api.db.DbException; -import org.briarproject.api.db.MessageHeader; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupId; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageId; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupId; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageHeader; +import org.briarproject.api.sync.MessageId; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; import org.briarproject.api.transport.TransportKeys; @@ -43,8 +43,8 @@ import java.util.concurrent.atomic.AtomicBoolean; import static java.util.concurrent.TimeUnit.SECONDS; import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; -import static org.briarproject.api.db.MessageHeader.State.STORED; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessageHeader.State.STORED; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/briar-tests/src/org/briarproject/messaging/ConstantsTest.java b/briar-tests/src/org/briarproject/sync/ConstantsTest.java similarity index 88% rename from briar-tests/src/org/briarproject/messaging/ConstantsTest.java rename to briar-tests/src/org/briarproject/sync/ConstantsTest.java index a96bdaee4c5bfbcdebafdd7780e85ed5f34b2e27..6a935970e87c66df94a4d81e1870e2e48a81cc91 100644 --- a/briar-tests/src/org/briarproject/messaging/ConstantsTest.java +++ b/briar-tests/src/org/briarproject/sync/ConstantsTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import com.google.inject.Guice; import com.google.inject.Injector; @@ -17,18 +17,18 @@ import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.crypto.KeyPair; import org.briarproject.api.crypto.PrivateKey; import org.briarproject.api.crypto.Signature; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.Offer; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.messaging.Request; -import org.briarproject.api.messaging.SubscriptionUpdate; -import org.briarproject.api.messaging.TransportUpdate; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.Offer; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; +import org.briarproject.api.sync.Request; +import org.briarproject.api.sync.SubscriptionUpdate; +import org.briarproject.api.sync.TransportUpdate; import org.briarproject.crypto.CryptoModule; import org.briarproject.data.DataModule; import org.briarproject.db.DatabaseModule; @@ -46,11 +46,11 @@ import static org.briarproject.api.AuthorConstants.MAX_SIGNATURE_LENGTH; import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; import static org.briarproject.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; import static org.briarproject.api.TransportPropertyConstants.MAX_TRANSPORT_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_BODY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; +import static org.briarproject.api.sync.MessagingConstants.MAX_BODY_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_GROUP_NAME_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_SUBSCRIPTIONS; import static org.junit.Assert.assertTrue; public class ConstantsTest extends BriarTestCase { @@ -65,7 +65,7 @@ public class ConstantsTest extends BriarTestCase { Injector i = Guice.createInjector(new TestDatabaseModule(), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new MessagingModule(), new DataModule()); + new org.briarproject.sync.MessagingModule(), new DataModule()); crypto = i.getInstance(CryptoComponent.class); groupFactory = i.getInstance(GroupFactory.class); authorFactory = i.getInstance(AuthorFactory.class); diff --git a/briar-tests/src/org/briarproject/messaging/ConsumersTest.java b/briar-tests/src/org/briarproject/sync/ConsumersTest.java similarity index 86% rename from briar-tests/src/org/briarproject/messaging/ConsumersTest.java rename to briar-tests/src/org/briarproject/sync/ConsumersTest.java index cdcb406c17fc94c5804098167b525a9803286214..a9d4ed67ba770354205ce4a22b1ef677de7a6fb3 100644 --- a/briar-tests/src/org/briarproject/messaging/ConsumersTest.java +++ b/briar-tests/src/org/briarproject/sync/ConsumersTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.BriarTestCase; import org.briarproject.api.FormatException; @@ -23,7 +23,8 @@ public class ConsumersTest extends BriarTestCase { messageDigest.update(data); byte[] dig = messageDigest.digest(); // Check that feeding a DigestingConsumer generates the same digest - DigestingConsumer dc = new DigestingConsumer(messageDigest); + org.briarproject.sync.DigestingConsumer + dc = new org.briarproject.sync.DigestingConsumer(messageDigest); dc.write(data[0]); dc.write(data, 1, data.length - 2); dc.write(data[data.length - 1]); @@ -34,7 +35,8 @@ public class ConsumersTest extends BriarTestCase { @Test public void testCountingConsumer() throws Exception { byte[] data = new byte[1234]; - CountingConsumer cc = new CountingConsumer(data.length); + org.briarproject.sync.CountingConsumer + cc = new org.briarproject.sync.CountingConsumer(data.length); cc.write(data[0]); cc.write(data, 1, data.length - 2); cc.write(data[data.length - 1]); @@ -42,7 +44,9 @@ public class ConsumersTest extends BriarTestCase { try { cc.write((byte) 0); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test @@ -50,7 +54,8 @@ public class ConsumersTest extends BriarTestCase { byte[] data = new byte[1234]; new Random().nextBytes(data); // Check that a CopyingConsumer creates a faithful copy - CopyingConsumer cc = new CopyingConsumer(); + org.briarproject.sync.CopyingConsumer + cc = new org.briarproject.sync.CopyingConsumer(); cc.write(data[0]); cc.write(data, 1, data.length - 2); cc.write(data[data.length - 1]); diff --git a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java b/briar-tests/src/org/briarproject/sync/PacketReaderImplTest.java similarity index 78% rename from briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java rename to briar-tests/src/org/briarproject/sync/PacketReaderImplTest.java index 3850d0494cab1b0d13991d26bb4e1bbdac9e8f8c..f75550fdf15b613b4c2fb75e234137fa220e8c9d 100644 --- a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java +++ b/briar-tests/src/org/briarproject/sync/PacketReaderImplTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import com.google.inject.Guice; import com.google.inject.Injector; @@ -18,11 +18,11 @@ import java.io.ByteArrayOutputStream; import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH; import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH; -import static org.briarproject.api.messaging.PacketTypes.ACK; -import static org.briarproject.api.messaging.PacketTypes.OFFER; -import static org.briarproject.api.messaging.PacketTypes.REQUEST; +import static org.briarproject.api.sync.MessagingConstants.HEADER_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.MAX_PAYLOAD_LENGTH; +import static org.briarproject.api.sync.PacketTypes.ACK; +import static org.briarproject.api.sync.PacketTypes.OFFER; +import static org.briarproject.api.sync.PacketTypes.REQUEST; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -43,19 +43,23 @@ public class PacketReaderImplTest extends BriarTestCase { public void testFormatExceptionIfAckIsTooLarge() throws Exception { byte[] b = createAck(true); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readAck(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testNoFormatExceptionIfAckIsMaximumSize() throws Exception { byte[] b = createAck(false); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); reader.readAck(); } @@ -64,31 +68,38 @@ public class PacketReaderImplTest extends BriarTestCase { public void testEmptyAck() throws Exception { byte[] b = createEmptyAck(); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readAck(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testFormatExceptionIfOfferIsTooLarge() throws Exception { byte[] b = createOffer(true); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readOffer(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testNoFormatExceptionIfOfferIsMaximumSize() throws Exception { byte[] b = createOffer(false); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); reader.readOffer(); } @@ -97,31 +108,38 @@ public class PacketReaderImplTest extends BriarTestCase { public void testEmptyOffer() throws Exception { byte[] b = createEmptyOffer(); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readOffer(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testFormatExceptionIfRequestIsTooLarge() throws Exception { byte[] b = createRequest(true); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readRequest(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } @Test public void testNoFormatExceptionIfRequestIsMaximumSize() throws Exception { byte[] b = createRequest(false); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); reader.readRequest(); } @@ -130,12 +148,15 @@ public class PacketReaderImplTest extends BriarTestCase { public void testEmptyRequest() throws Exception { byte[] b = createEmptyRequest(); ByteArrayInputStream in = new ByteArrayInputStream(b); - PacketReaderImpl reader = new PacketReaderImpl(readerFactory, null, + org.briarproject.sync.PacketReaderImpl + reader = new org.briarproject.sync.PacketReaderImpl(readerFactory, null, null, in); try { reader.readRequest(); fail(); - } catch (FormatException expected) {} + } catch (FormatException expected) { + // Expected + } } private byte[] createAck(boolean tooBig) throws Exception { diff --git a/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java b/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java similarity index 91% rename from briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java rename to briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java index 5aad3b5c0899cb7bb0ceef8aa254f72c438cedc4..9c0308b7b669f7e295c9704da4a80d5b54049187 100644 --- a/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import com.google.inject.Guice; import com.google.inject.Injector; @@ -20,16 +20,16 @@ import org.briarproject.api.event.Event; import org.briarproject.api.event.EventBus; import org.briarproject.api.event.EventListener; import org.briarproject.api.event.MessageAddedEvent; -import org.briarproject.api.messaging.Group; -import org.briarproject.api.messaging.GroupFactory; -import org.briarproject.api.messaging.Message; -import org.briarproject.api.messaging.MessageFactory; -import org.briarproject.api.messaging.MessageVerifier; -import org.briarproject.api.messaging.MessagingSession; -import org.briarproject.api.messaging.PacketReader; -import org.briarproject.api.messaging.PacketReaderFactory; -import org.briarproject.api.messaging.PacketWriter; -import org.briarproject.api.messaging.PacketWriterFactory; +import org.briarproject.api.sync.Group; +import org.briarproject.api.sync.GroupFactory; +import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageFactory; +import org.briarproject.api.sync.MessageVerifier; +import org.briarproject.api.sync.MessagingSession; +import org.briarproject.api.sync.PacketReader; +import org.briarproject.api.sync.PacketReaderFactory; +import org.briarproject.api.sync.PacketWriter; +import org.briarproject.api.sync.PacketWriterFactory; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamContext; import org.briarproject.api.transport.StreamReaderFactory; @@ -53,7 +53,7 @@ import java.io.OutputStream; import java.util.Collections; import static org.briarproject.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; -import static org.briarproject.api.messaging.MessagingConstants.GROUP_SALT_LENGTH; +import static org.briarproject.api.sync.MessagingConstants.GROUP_SALT_LENGTH; import static org.briarproject.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; import static org.junit.Assert.assertEquals; @@ -87,7 +87,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { return Guice.createInjector(new TestDatabaseModule(dir), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new MessagingModule(), new DataModule(), + new org.briarproject.sync.MessagingModule(), new DataModule(), new TransportModule()); } @@ -149,7 +149,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { alice.getInstance(PacketWriterFactory.class); PacketWriter packetWriter = packetWriterFactory.createPacketWriter( streamWriter); - MessagingSession session = new SimplexOutgoingSession(db, + MessagingSession session = new org.briarproject.sync.SimplexOutgoingSession(db, new ImmediateExecutor(), eventBus, contactId, transportId, MAX_LATENCY, packetWriter); // Write whatever needs to be written @@ -216,7 +216,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { bob.getInstance(PacketReaderFactory.class); PacketReader packetReader = packetReaderFactory.createPacketReader( streamReader); - MessagingSession session = new IncomingSession(db, + MessagingSession session = new org.briarproject.sync.IncomingSession(db, new ImmediateExecutor(), new ImmediateExecutor(), eventBus, messageVerifier, contactId, transportId, packetReader); // No messages should have been added yet diff --git a/briar-tests/src/org/briarproject/messaging/SimplexOutgoingSessionTest.java b/briar-tests/src/org/briarproject/sync/SimplexOutgoingSessionTest.java similarity index 90% rename from briar-tests/src/org/briarproject/messaging/SimplexOutgoingSessionTest.java rename to briar-tests/src/org/briarproject/sync/SimplexOutgoingSessionTest.java index e618c3ec43dad73735ee8f32690602b4c8230b7d..f3b27bf85bd8bfce53d7811c4b818f19453e872e 100644 --- a/briar-tests/src/org/briarproject/messaging/SimplexOutgoingSessionTest.java +++ b/briar-tests/src/org/briarproject/sync/SimplexOutgoingSessionTest.java @@ -1,4 +1,4 @@ -package org.briarproject.messaging; +package org.briarproject.sync; import org.briarproject.BriarTestCase; import org.briarproject.TestUtils; @@ -6,15 +6,16 @@ import org.briarproject.api.ContactId; import org.briarproject.api.TransportId; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.event.EventBus; -import org.briarproject.api.messaging.Ack; -import org.briarproject.api.messaging.MessageId; -import org.briarproject.api.messaging.PacketWriter; +import org.briarproject.api.sync.Ack; +import org.briarproject.api.sync.MessageId; +import org.briarproject.api.sync.PacketWriter; import org.briarproject.plugins.ImmediateExecutor; import org.jmock.Expectations; import org.jmock.Mockery; import org.junit.Test; import java.util.Arrays; +import java.util.Collections; import java.util.concurrent.Executor; public class SimplexOutgoingSessionTest extends BriarTestCase { @@ -45,7 +46,8 @@ public class SimplexOutgoingSessionTest extends BriarTestCase { @Test public void testNothingToSend() throws Exception { - final SimplexOutgoingSession session = new SimplexOutgoingSession(db, + final org.briarproject.sync.SimplexOutgoingSession + session = new org.briarproject.sync.SimplexOutgoingSession(db, dbExecutor, eventBus, contactId, transportId, maxLatency, packetWriter); context.checking(new Expectations() {{ @@ -89,9 +91,10 @@ public class SimplexOutgoingSessionTest extends BriarTestCase { @Test public void testSomethingToSend() throws Exception { - final Ack ack = new Ack(Arrays.asList(messageId)); + final Ack ack = new Ack(Collections.singletonList(messageId)); final byte[] raw = new byte[1234]; - final SimplexOutgoingSession session = new SimplexOutgoingSession(db, + final org.briarproject.sync.SimplexOutgoingSession + session = new org.briarproject.sync.SimplexOutgoingSession(db, dbExecutor, eventBus, contactId, transportId, maxLatency, packetWriter); context.checking(new Expectations() {{